Well, I don't like to do pixel perfect layouts really, I prefer to work with relative sizes such as em or %. (ie, flexible layouts.)
I guess what bothers me most is the boxing limitations (hacks required to center something vertically, or to have a column fill the whole page, while wildly documented, are ugly and redicilous in the fact that they are even required at all) and then mostly, inconsistencies between browsers.
The boxing stuff seems like it would be fixed in css3, if it ever comes out. Though I'm not sure if the proposed solution is the best one. At least it is A solution, nevertheless.
The browser inconsistencies can't be blamed on css, but should really be blamed on the browsers, I guess. What bothers me is that lots of the proposed 'hacks' to 'fix' lots of the issues don't even validate as valid css, because they are browser-specific things implemented next to/on top of the standards (IE does a lot of that).
I simply refuse to implement stuff that doesn't validate, because I feel I shouldn't have to.
Then you've got the overlapping text issues you can have, or floats that don't behave properly when text is sized to extremes (big or small).
An ironic example, is a web page that tried to argue how CSS is superior to tables, since tables 'print better'.
While it is true that you can easily switch css templates to a non-color printer friendly style, irony has it that when i went to the print-preview of the page, i saw this:http://linkerror.com...lson_dept(ha-ha).png
Yes, when printing, the text just went all over the place and started overlapping. Needles to say, I was not convinced
- If the very same page arguing the better printing, doesn't even print right (yes it was pure css layout), then where are we at?
I feel lots of the css evangelists, like css so much, because it does have good ideas behind it, and a lot of it truly is pure beauty and freedom. However, the actual implementation (in browsers) is very much a horrible mess.
All in all, I really do find that with tables you have more certainty that your layout will stay where it is supposed to, and not wrap around, or start overlapping when things are resized too much or whatever, and you can make a flexible layout that stays in place no matter what, regardless of the complexity of the layout, very easily... But that's probably the only thing they have going for them. All the disadvantages argued against tables are valid. But I do feel that the layout, boxing, placement of things on a website, and having these things stay consistent, is a very important thing. And if this thing is complicated to the level of needing hacks and un-validating code, then I find the solution a mess.
I can't help but conclude that tables are messy, css is implemented messy. The www is messy, and imho, has a lot of maturing to do as far as standards and consistency.