About This Course
You're about to take a journey. I've already started the same journey, so I'm a little bit ahead of you; but I'm still traveling. This journey is the Road to CSS. Parts of the road are smooth and well-paved; some parts a little bit bumpy. But as you get closer and closer to CSS, you will discover Web design possibilities that HTML alone cannot give you. Welcome to The Journey.
This course is an introduction to CSS — Cascading Style Sheets. You are already familiar with HTML, and you know that it's not all that difficult to use. While CSS offers an astounding array of possibilities for determining how our Web pages look, it is also far more complex than HTML. Nonetheless, when we have finished here, you will, first, be able to use CSS and, second, have sufficient experience and understanding to learn on your own as much more of CSS as you need to. The list of CSS links that I have on my Web site will point you to many tutorials and other kinds of resources. However, that list of links is a pretty big list. As you get started, you may find it easier to use the brief page of references that I have put together.
CSS and HTML work together. When HTML was created, its intended purpose was to allow the author to specify the structure of the page — things like major sections, minor sections and topic headings. The HTML language was never intended to control the appearance of the page — which font to use, for example, or which colors to use or where exactly to place things.
But as much as people applauded the Web as a powerful new communication tool, many soon became aware of — and dissatisfied with — the way in which the original HTML "language" limited their ability to determine the way the page looked. They wanted to be able to control as much of the page appearance as possible. So new tags were added, and clever Web authors found ways to make HTML do things that its creator never intended. Tables and nested tables and tables nested within nested tables became indispensable. The result was cool looking pages at the cost of (1) increasingly longer and complex code that was (2) often difficult to maintain and update and (3) longer download times for these pages.
With CSS, Web designers have a language created specifically to control the appearance of the Web page. Moreover, CSS makes it possible to do things with a Web page that we simply cannot do with HTML alone. CSS does not replace HTML; it is an additional language that works with HTML. CSS uses the structure created by HTML to determine the appearance of the page. You can't use CSS without HTML.
Let me finish this introduction with a few more comments about my CSS "Journey." It has taken me about a year from my first forays into CSS to the completion of these course materials. I don't mean to scare you. You realize that it can take just as long to learn to teach a subject as it can to learn the subject itself. Almost all of my learning has taken place by creating these course materials. In general, the lower numbered pages here were the earliest pages I completed; and the later numbered pages are the more recently completed gems. In the process, I have learned a great deal about CSS. After all, the best way to learn it is to use it (and teach it). I encourage you strongly to examine the source of any or all of these instructional pages. If you do, you may notice that the kind of coding I have done changed somewhat from the earlier to the later pages. That's because I learned more and better ways to do the same things. But I haven't had time to return to the earlier pages and redo the code. I point this out because these pages will provide you with many examples of CSS coding, some better than others. I expect that you will see some things in the code that you will eventually decide is not the best way to do that — whatever "that" may happen to be.
And finally...Unlike the pages in my HTML course, there is no one format that I use repeatedly from page to page. These varied formats were a part of my learning process — let's try this; let's try that. And I also wanted to give you many examples of some of the frankly simpler ways in which you can use CSS to format your pages. Take a gander at CSS Tableless Sites to look at more than one thousand Web sites created using CSS. (But don't do it now, please.)