Style Sheets without tears - 3
by John Allsopp
In the early 1990s, Geoffrey Moore brought together some thinking about markets and the adoption of new ideas that had been kicking around for a long time and published 'Crossing the Chasm' - now a classic of high technology marketing. In it, Moore analyses how new technologies are adopted. While debatable, his reasoning is definitely plausible and interesting.
What has this to do with Cascading Style Sheets? Give me a moment to try and explain.
I've been a fan, indeed an evangelist of CSS for a long time now. Sure, I have a vested interest as I write software and develop training to help people work with CSS, XHTML, and standards-based development. But before this I was already taken with the elegance and potential of CSS, even when IE 3 supported them dreadfully, and then Netscape 4 did so only marginally better.
I'm a classic 'early adopter', one of Moore's several quite distinct categories of technology user. As a CSS fanatic, for years I've been frustrated by the seemingly endless need to address the same misunderstandings about CSS - browsers don't support them, they aren't as good as tables, and so on.
But early adopters are easy to please - we don't mind that a technology might be half finished. We are interested in the finished half, not the half yet to be done. This doesn't make us better than later adopters, who are more pragmatic, just different. Probably more foolish, as we put effort into solutions that don't necessarily work well yet, and may never take hold.
Thinking long and hard about where CSS is at, recently I realised I'd been mixing up two separate issues.
On the one hand, CSS is largely 'done' now. Certainly the core of CSS - typography, text style, straightforward page layouts are robust and well supported in the vast majority of current browsers. What's important though, and what as an evangelist I've long overlooked, is that those pragmatic developers, you know the ones, who actually make a living from developing for the web, who maybe even want to spend some time away from their development endeavours now and then, who need to convince clients, or managers, or investors that their solution is the one to go with, are still very wary of adopting CSS.
This wariness, I think, boils down to the question, "What I do now works. Why throw all this away for something new that may not even work?"
Trust me for a moment. Forget any objections as to browser compatibility and so on you might have. Let me try to convince you that there is value in adopting this new technology.
It's not all that new
First up, adopting CSS doesn't mean dropping all the skills you already have. Almost all of what you've learnt as a web developer still applies. Two changes you need to make are:-
- You don't code appearance into your HTML, so no more <font> <bold> and "bgcolor=" elements and attributes.
- You add a style sheet that describes the appearance of various elements in your site.
Sounds simple, and it really is.
Replacing all of the presentational HTML you currently use requires just a tiny part of CSS. You'll need to learn about one selector, and maybe a dozen different properties. In all maybe five hours work, if that.
If you are keen, take a look at the following tutorial, that covers all this and more. I wrote this some years ago, and many thousands of people have used it since that time.