Width designations and Internet Explorer
The biggest problem with trying to build an effective layout using CSS is Internet Explorer. CSS support has changed greatly between IE versions 5, 6, and 7. IE has long had box model differences that confused webmasters, but those are understandable to a degree. The spec is light on details for a box model implementation and a fundamental change like that could break a great many sites that specifically targetted IE during the development cycle. Besides, other browsers do give you the option of working with IE's box model if you want to simply ignore that issue with your design.The biggest problem with IE these days is the lack of support for min-width and max-width declarations within CSS. You can hack your way around it using a variety of hacks, but all of the hacks have their drawbacks. It means either mucking up your HTML - which was your primary reason for moving towards CSS in the first place; running javascript that may or may not be enabled, may or may not be compatible with your end user's browser, or at the very least will cause the page to noticably change when loaded; or running IE specific CSS expressions which are far more performance detrimental than you might imagine (expressions are calculated more frequently by end user events than is reasonably acceptable).
A lack of min-width and max-width support means that liquid layouts are not possible - at least not for IE visitors.
Liquidity is not the most important thing
Effective layouts with CSS are possible. When cleaning up the code for a page, I decided to start analyzing how the page looked within a text based web browser. It reminded me of some experimentation I did a while back having to do with XML/XSLT based layouts. What I really liked about that project was that the downloaded page was very thin, with just about everything but the contained data being cached.That's the goal that webmasters should be looking towards when building templates that are CSS based. The HTML page should contain very little outside the text the end user is actually looking for. While we are all used to web sites with complex and unintuitive navigational periphery, 95% of the clicking we do is outside the bells and whistles area. It's nice to include a link to your home page, your about page, and your sitemap on every page within the footer, but is it really necessary? Why not combine all that information, or links to that information within a single link. Those things get clicked so rarely, that a two-click path to get to the rarely visited about page seems pretty reasonable to me. But I digress.
Liquid sites are not the most important hing. Good looking, readable, navigable sites are. If you ignore all those CSS tutorials and try to stick with the basics, you can build an effective layout using CSS that will be widely supported across multiple browsers on multiple platforms. The more bells and whistles you add, the lower the number of browsers your site will support. Watch out for terms like "this will degrade cleanly in unsupported browsers". Have a look and decide for yourself. Clean to one person is a mess to the next guy.
Talk About Liquid Layouts and IE
