Many interesting layouts are possible with CSS. As the share of IE6 in the world is declining, the compatibility situation is slowly improving, too. You can also make a lot of browsers behave better by putting proper headers on your HTML.
For some intended layout cases, the answer I get to questions like yours is often "change your design".
Some layouts can be achieved using tables to partition vertical and horizontal space. I always get flamed by the CSS purist zealots when I suggest this, but they usually don't have any better alternatives to offer.
That said, it's a good idea to use tables as little as possible, as this use doesn't correlate well with their intended meaning and purpose. Consider tables an emergency hack for those cases where CSS solutions would be a lot more hackish.