Iím really struggling with whether to learn and use CSS for layout. Iíve been a designer for over 20 years and been using tables for layout for 13 years. Most of the sites I create are for small businesses averaging around 10 - 60 pages. (10-20 is most common.) I really like using CSS for formatting text, lists, positioning, etc. In my opinion, combining table layout with CSS works great. Iíve read the debates online. Iím not questioning the benefits of CSS in general. I use it and love it. What Iím trying to figure out is the benefits in using CSS for LAYOUT. Here are my questions which I'm hoping you can helpÖ
CSS Layout Advantages:
1) Easier Site-Wide Changes Ė CSS proponents claim site-wide changes are easier with CSS because you change one file and boom, it changes on all pages. I use Dreamweaver template files. I make a change to the template file and boom, it changes on all pages. Whatís the difference?
2) Faster Load Times Because of Lighter Code Ė I remember load times being a major issue when I first got started but it doesnít seem to be the case anymore with so few people on dialup. I canít tell any discernable speed difference between a table layout and a CSS layoutís load time. (Yes, I like clean code too.) Heavy image use and Flash still seem to be the biggest factors in speed. If the human eye canít tell any difference, then whatís the point? And server space/bandwidth doesnít seem to be an issue anymore either. Space on the server for all of my clientís sites is generally 1/16 of capacity.
3) SEO Ė From what I can tell, search engines arenít indexing or ranking CSS layouts higher than table layouts. The algorithms used for ranking most often are content and inbound links. The spiders are highly efficient at discerning code from content. So what difference does it make?
4) Separation of Style and Content Ė I guess this one is related #1, ease of updating? This is what Dreamweaver template files do. It separates style from content (editable/un-editable). I donít know about you, but generally speaking what my clients want most often is to update the content. I donít understand why it would be easier to update content using CSS more so than tables. (Remember, I DO use CSS for formatting.) If they want to tweak something in the design, again, piece of cake to do. Just change the template file. Itís not hard.
5) Greater Consistency Ė If you use template files and CSS, where is there inconsistency?
Disadvantages to using CSS for layout
1) Inconsistent Browser Support - Different browsers will render CSS layout differently as a result of browser bugs or lack of support for various CSS features. This is no small drawback!! Itís huge. I fought this very same battle using tables back in the 90s. Different browsers rendered the design differently. I really resented (and it sounds like many of you do too) all the time I had to spend to get a site to look as it was intended for ALL users. I REALLY donít have any desire to fight that battle again. I know there are workarounds. But again, if I donít see the overwhelming benefits, I wonít don my armor or sharpen my weapons.
My questions and concerns are genuine and not an effort to get CSS lovers to defend themselves. If you are designing using CSS for layout, cool! You are a part of an ever growing majority. Personally, if I could instantly convert a design into HTML, Iíd do it. I have no great love for code. Right or wrong, I LOVE spending most of my time designing. For me, the rest is a necessary evil to get the design into the medium. So if you feel strong emotions regarding CSS layout, donít respond. If you get where Iím coming from, please help me understand using logic.