While reading forums, blogs, and other web development related resources, I keep coming across people asking how to get started in CSS. They may have be table-converts or they may be new to the field, but the question keeps coming up.

In my opinion, a lot of people are going about it the wrong way. Sure they may be able to get a nice design that works across browsers and platforms and their code may validate. But look under the hood of a lot of those sites. The code can sometimes be just as bad as using a table.

Where to Start

I think that the key to succeeding in the field, is to begin by learning semantic HTML. Sure, you may have been using HTML for years while doing table layouts, but you are also the same people who were using nested blockquotes to increase your margins.

What is Semantic HTML?

Well let’s first define semantics:

Of or relating to meaning, especially meaning in language.

Now if we apply that to HTML, it is the idea that every element has a meaning. Yes, there is a reason that when you want emphasize something you wrap it in an em tag. Instead of simply choosing elements because of how they are styled, you should be choosing elements because of their meaning.

Once you have the semantics down, then you get to use CSS to hook into all those wonderfully semantic elements that you have used.

Just My Thoughts

That is not necessarily how I learned, but I think that will be the most beneficial way to learn in the long run.

Some Resources

These are some sites that I read regularly, mainly focusing on the basic stuff.