Wednesday, March 25, 2009

A Little Knowledge…

I don't believe there is any such thing as wasted knowledge, but I do believe in the old saying "A little knowledge is a dangerous thing". This is especially true when dealing with Cascading Stylesheets, CSS.

The last book has probably already been written showing CSS as an afterthought. When the specifications were first gelled, back in the Clinton administration, I could see why authors of the HTML books of the day just tacked on a new chapter dealing with the new rules. Usually, this was at the back of the book, the clean part of any well-thumbed tome that indicates most people never quite got around to reading it, or reading it to any degree, anyway. This was understandable, and I would have probably done the same thing, but it still wasn't a good idea.

CSS needs to be taught on the same level and at the same time as HTML. I know dozens of people who have never finished a book on computer technology. You start at the beginning, 'You are about to embark upon a wonderful journey…' and cruise through the early examples, "Hello, World!", and then you pretty much put them aside at some point after that. CSS deserves better.

We all lead busy lives. Especially now, we are all trying to do more, trying to increase our productivity so as to keep our names off of The List. We can't be bothered to pick up every detail, and especially not the details of things we may never need to actually use in real life. I need to know how to get these words on these pages in this order, about "here" on the page. Show me how. You can learn all of that between pages 32 and 47 and it just doesn't occur to most people to then also go to the back of the book to find out how to adjust the text, color it, shade it, move it around, constrain it or otherwise style it. If the information was really important, it would be at the front of the book, right? Who has time for all of that?

CSS is finally coming out of that kind of attitude. As more and more developers pick up more and more of the simple rules, we are seeing fewer and fewer tables used for page layout, fewer <font> tags, fewer <p></p> tag pairings
and fewer multiple–<br />'s used to adjust on-screen placement.

I'm encouraged. I have fallen victim to this kind of thinking, myself. I teach HTML in one workshop and CSS in another. And so once again, if you don't take the CSS training, you don't know what you don't know. That may be doing a disservice to anyone looking to learn about how to mark up a page. Maybe CSS should be included in that very first introductory class, to reinforce the idea that This Is Important.

I applaud anyone who wants to learn anything. I just know that the Web of 2012 and 2015 will be a much nicer place as support for Internet Explorer 6, tables-for-layout and the endless parade of <font> tags recedes into the middle distance. We need to do a better job of "building value" in CSS, and in teaching it as an important part of building Web pages, not an afterthought.

No comments: