I understand asshopo's pain. See, I used to be a big CSS/DIV freak until I realized how much TIME I wasted on it all.
CSS is one of those things that has good intentions and works well on paper, but doesn't actually cut it for what MOST people need to do. It's one of those things that CAN be good if used properly, but you have to know it 100% inside and out. You have to know every single workaround available to accomodate any and all browsers. To me, it's not worth it.
I'd rather just assign a classname to a table, give it the formatting in the CSS, and if I need anything positioned a certain way... just use the align attributes. You'll seriously spend HOURS trying to figure out how to do something that should be simple, like vertical aligning, when you could just slap the appropriate tag on the table.
The whole, "get rid of tables and use DIVs instead" is horrible and pointless, also.
Yes, I've been to CSS Zen Garden and the site I'm working on now USED to be entirely done in DIVs/CSS. Right now, I'm in the process of undoing it all because of the headaches it has caused. I'm sick of wasting time on it. It is infinitely more painful to work with pure CSS as opposed to just goddamn doing some of the more advanced formatting in the appropriate attributes...
A perfect example is: I have a .net application that uses a header, nav, body, and footer user controls (a lot of those parts are dynamic). The body table cell class is named ".mainContent". I have a style that centers ALL tables (and text) under .mainContent, however, if I have ONE table on a page that I need left aligned, you can't undo the centering (in firefox, anyway).
The code to center these objects in firefox is:
Code:
.mainContent table
{
margin-left: auto;
margin-right: auto;
}
The thing is, I need a few tables under .mainContent left aligned. What's the alternative? Instead of ".mainContent table", use ".mainContent #tableID"? Haha no way. Well, I'm sure there IS some odd workaround for it, but I'm just at the point where I don't really care anymore. I've seriously wasted (altogether) days upon days just trying to do stuff like this that SHOULD be easy.
Why is it like this? Who the hell knows why. I'm sure there's a more "official" way to do what I'm trying to do, but my point exactly: unless you know the specifications inside and out, you're better off using CSS for basic formatting.
It's flat out ridiculous either way you look at it to spend hours trying to figure out how to freakin align something...
If someone needs table X on Page Y vertical aligned, then I'll just edit it in the page and be done with it. It works great for basic stuff like font, text size, or in .net you can apply a general style to a datagrid. *That* works great, but the whole "ditch tables and use CSS" movement is flat out pointless.