First of all, please use [code] tags around your code which makes it easier to read.
Secondly, IE does not conform to web standards, so generally, if it looks good in FF and is valid HTML and CSS, it's good work. IE has so many issues (getting better very slowly) that it's not worth changing all your CSS to accomodate for it. Unfortunately a lot of people still use it, so you need to do something.
I suggest that you make and include a special ie.css if the browser is IE, and in that, include all of your changes for CSS, so that it doesn't mess up your real coding.
One fix which I come across a lot to get you started is giving div's widths of 100%, even when not needed, so have a look at that. Here are some links for you:
Validate HTML Validate CSS