if you can make a layout look good in firefox, safari & opera (which simply involves knowing proper css coding), then you can tweak it to make it work right in ie.
for every css attribute if you add in front of it an underscore, only internet explorer will read it.
for example:
CODE
body { margin:10px; _margin:12px; }
a code like that will make every browser give the body a margin of 10 pixels. the second part tell internet explorer an additional piece of information, in this case, to give the body a margin of 12 pixels.
firefox, safari & opera are all web-standard browsers. if you make a layout that doesn't look good in one of those, you probably messed up somewhere. go back through and make sure you don't have any conflicting coding.