Learning CSS With Templates
Author of this post: Tara MacKay | About Blog Authors »I know I’ve posted about it once, maybe even twice, but table-based web designers (myself included)… your days are numbered.
I’m always surprised when I see so many web designers using tables for layout, but I can understand it. Most designers started with tables, and while tabled layouts are so inflexible, they’re quick and easy to create. Making the leap to CSS positioning to create layouts means more to learn, and a potential slowdown in your work before you see the true time benefits.
I previously posted about CSS Zen Garden as one way to test your skills, but this works best if you’ve already got some experience with CSS layouts.
If CSS layouts are totally new to you (though I’ll assume that you have some experience with CSS text styling), think back to how you may have learned HTML. One of the best ways to learn HTML, back in the days of simpler sites, was to download an existing page and look at the code. Play with it. See how all those crazy tags worked.
For CSS layouts, you can do the same thing. But the trick is to start with ones that are written correctly. So avoid choosing any random site and downloading its code. Try existing templates from various free template sites.
Freecsstemplates.org is one of many sites that offers downloadable templates that you can play with to learn CSS layouts (or just use as-is for a quick blog design). At this site, all of the templates comply with W3C standards and contain valid XHTML code.

Templates at freecsstemplates.org comes in many layouts and visual styles.
These templates, and others from many different authors, are also available at opendesigns.org. Just download and start experimenting.
Simpler templates, also with valid code, are available at intensivistation.ch. In these, the code is displayed within each content area—this is great if you want to start new docs from scratch and simply copy, apply, and modify the given code.
When working with these templates at first, pay little attention to the graphics and colors—instead, focus on the positioning of page content areas. The content areas are usually delineated in the HTML code with div tags. Find the corresponding CSS class for the content area you wish to change, and make some subtle changes such as the width or the margin. Then make larger changes, eventually moving a nav bar to the other side of the page or even adding new content areas. Compare multiple templates to learn about different types of properties you can use for placement. And, of course, test them in various browsers. Compile the code you like into a new document for reference, with lots of comments in the code for reminders, and you’ll be all set to create new layouts from scratch.


















March 4th, 2008 at 10:29 pm
This sounds good for websites that have 2 or 3 columns of content, but every site i do is different with custom detailed work created in Photoshop. Nothing i’ve ever done would fit into some kind of generic columned template… I’ve also always used tables for my layouts and i wonder if css would work for my kind of custom detailed designs….???
Also, when do you think tables will be obsolete? In other words, how long do i have to learn to layout with css?
Thanks, Tiff
March 5th, 2008 at 9:07 am
I think CSS is great. But people have been saying tables are on their way out for at least 3 years now. I don’t think tables will ever be out. They will just be used together with CSS.
March 5th, 2008 at 9:05 pm
Tiffany, I agree with PPC Agency that tables will never be truly out–they will always be available because they should still be used to manage data. However, the W3C advocates avoiding tables for layout purposes. HTML should manage the structure of a page, while CSS should manage presentation which includes layout. So they are already not recommended (making designers still using them often look behind the times, or not compliant with W3C recommendations), but may never be totally obsolete.
CSS should be able to reproduce any design you’ve created in the past with tables, and take customization a great deal further. Templates often show columns as a starting point, but these can easily be adjusted to look much less column-like, or even have interesting features like overlapping (keeping in mind that some features aren’t viewable in all browsers). CSS3 http://www.css3.info/ will go even further in regard to layout options as well as imaging features.
March 19th, 2008 at 8:47 pm
CSS is a really great add to the web , but browsers makes some problems with the designs , and me .
June 19th, 2008 at 1:55 pm
Well it s always a good start for design if you start with templates from another site but you have to keep an eye on to make it different enough. Also you have to take care of copyrights on it.