The other night I attended a local web design meetup and the discussion topic for the night was ‘the benefits of CSS’. Unfortunately we didn’t end up in the private room in the restuarant that we usually get so it wasn’t quite as easy to carry on a roundtable discussion. I noticed that most of the designers that showed up where fairly new to CSS and didn’t fully understand all the positives. In fact most of them seemed to think there wasn’t any benefits, and I even overhead a few say that tables are better.
Well the fact is there is a lot of benefits of using CSS. I’d even go as far as saying I can’t really see any negatives to layouts based on Cascading Style Sheets. The only thing that could possibly be a negative in my opinion is so called browser issues, but once your skills improve it shouldn’t really be a problem. Anyways, here’s some of the benefits that I could come up with, if you have anything I miss please contribute.
Maintenance - Maintaining websites with CSS based layouts is a hundred time easier than maintaining ones that are table based. Seriously! If you’re not making any content changes to the site all you really need to do is update one file, of course that all depends on the size of the site. But even if it is a large site it would still only be a fraction of the total pages.
Accessibility - The W3C says…
CSS benefits accessibility primarily by separating document structure from presentation. Style sheets were designed to allow precise control - outside of markup - of character spacing, text alignment, object position on the page, audio and speech output, font characteristics, etc. By separating style from markup, authors can simplify and clean up the HTML in their documents, making the documents more accessible at the same time.
I’ll also add that it’s far easier to make your site accessible using CSS. Think about all the people using cell phones and other wireless devices to connect to the interent now. Don’t you want to make your site accessible to them?
Cleaner/Less code - CSS generally requires less code than tables, a lot less. This make your code both lighter and a lot cleaner. Clean code makes a huge difference in maintaining your site.
Faster - Your pages will load quite a bit faster with CSS, and for a number of reasons. This also cuts down on your bandwidth, if you have a site that gets a lot of traffic this can make a huge difference in your bottom line.
Easier - When I was first learning to design based on CSS I struggled a lot. But I caught on very quickly. In the beginning you would’ve never catch me saying that CSS is easier. But now, I truely believe that it is. Because you’re only using a fraction of the code it’s so much easier to design with CSS. If you’re still having a hard time don’t worry, once you catch on it will be so much easier. I would even recommend that anyone that’s just starting to learn web design to learn CSS before tables, I believe the learning curve is much quicker.
Creativity/Limitless - We’ve all seen CSS Zen Garden, and if you haven’t go check it out now. The idea behind CSS Zen Garden is…
The code remains the same, the only thing that has changed is the external .css file. CSS allows complete and total control over the style of a hypertext document.
So many more possibilities with CSS. There literally no creativity bounds design wise.
Professional - It’s my belief that if you’re a professional web designer (in other words, you exchange money for your services) then you should be building sites strictly with CSS. If not for the reasons above (which are all more than enough reasons as a professional) then do it to keep up with the current standards and trends in the industry. If you don’t start now it won’t be long before you’re left in the dust.
As you can see there’s a quite a few benefits to CSS. If you’re still not convinced to use CSS then you probably never will be, so let’s just leave it at that. Again, if you have anything to contribute please do.
CSS, Web Design