The Ultimate CSS Reference
stoolpigeon writes "Cascading Style Sheets are now the dominant method used to format web pages. Even something as simple as modifying a WordPress blog can involve digging around a bit in CSS. A quick search at Amazon on CSS returns over 7 thousand books in the computer category alone. This book claims to be the ultimate, though, and that made me approach it with a bit of skepticism. Sure, it could be a decent reference, but is it truly the ultimate reference? I admit I was curious to see." Read on for the rest of JR's review.
The Ultimate CSS Reference
author
Tommy Olsson & Paul O'Brien
pages
420
publisher
SitePoint
rating
9/10
reviewer
JR Peck
ISBN
978-0-9802858-5-7
summary
All the CSS knowledge you'll ever need.
If any book is going to be an acceptable reference there are a few things that are going to need to be in place, no matter what the subject matter. I'd like to discuss those first, from front to back. The table of contents takes up 9 pages. It is specific enough to easily get the reader pointed in the right direction.
The first two chapters cover introductory material, discussing just what CSS is, what it does, and syntax/nomenclature issues. After that, every chapter is reference material, until chapter 16. The last three chapters cover vendor specific properties, various hacks and work-arounds as well as the difference between html and xhtml. Those five chapters are presented more as straight out prose compared to the reference chapters between, though they still use extensive highlighting and background colors to divide and organize content.
The reference chapters are extremely well laid out. A command, property or other item is in bold at the beginning. Below it, highlighted in grey are various arguments that can be used with that item. An example will be given in a colored box. There are two grids. One covers three aspects of the spec for this item; if it is inherited, the initial value and thecss version of the item. There is also a list of browser support for the item in IE6+, FF1+, Saf 1.3+ and Op9.2+. The second grid shows compatibility for three versions of Internet Explorer (5.5, 6.0 and 7.0), three versions ofFirefox (1.0, 1.5 and 2.0), three versions of Safari (1.3, 2.0 and 3.0) and Opera 9.2. When appropriate there is also a discussion of or list of appropriate values and discussion of usage.
At the end of the book is a single appendix which contains an alphabetical index of properties. There is no proper index for the full book, which is not as bad as it could have been, without the other tools, but is still disappointing.
The typography is clear. The book is concise and clear with little wasted space or verbiage. The color scheme for highlighting the various sections is extremely easy to read and pleasant.
There is one more feature of the book that, aside from content, makes it very useful. There is an online edition of The Ultimate CSS Reference and as far as I can tell, it is completely open to use by anyone without any kinds of restrictions. I couldn't find any in my copy of the book, I didn't have to sign up for anything to use the site. This really makes up for the lack of an index as the entire book is searchable from the site. For me, it is the best of both worlds. I have the dead-tree version on my shelf, ready to pull down and satisfy my curiosity. I have the electronic version freely available on the web site, should I need it. The site has the added bonus of including an area for comments on the contents of the book, and there are already some helpful comments and tips there.
I think then, it is safe to say that mechanically this is a more than acceptable reference. The other important piece aside from it being usable, is the quality of the information itself. Good information is useless if one cannot get to it, and a great access system is useless if the information is no good.
The authors, O'Brien and Olsson are themselves extremely experienced in the field and I think it is safe to say they are experts in regards to CSS. The book also had two experienced "Expert Reviewers" in Natalie Downe and Roger Johansson. I couldn't find any problems with the content, and I think that it is safe to say that these four, along with others have done due diligence to provide an accurate guide to CSS.
Is this the ultimate CSS reference? I haven't read the others, and ultimate seems to imply comparison to me. So while it might not be the ultimate, I do feel comfortable recommending it to anyone who needs an extremely usable, accurate reference to CSS. I would even recommend it to a beginner who wants to learn CSS, though they should probably augment this book with something aimed at teaching CSS, not just providing a reference.
You can purchase The Ultimate CSS Reference from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
The first two chapters cover introductory material, discussing just what CSS is, what it does, and syntax/nomenclature issues. After that, every chapter is reference material, until chapter 16. The last three chapters cover vendor specific properties, various hacks and work-arounds as well as the difference between html and xhtml. Those five chapters are presented more as straight out prose compared to the reference chapters between, though they still use extensive highlighting and background colors to divide and organize content.
The reference chapters are extremely well laid out. A command, property or other item is in bold at the beginning. Below it, highlighted in grey are various arguments that can be used with that item. An example will be given in a colored box. There are two grids. One covers three aspects of the spec for this item; if it is inherited, the initial value and thecss version of the item. There is also a list of browser support for the item in IE6+, FF1+, Saf 1.3+ and Op9.2+. The second grid shows compatibility for three versions of Internet Explorer (5.5, 6.0 and 7.0), three versions ofFirefox (1.0, 1.5 and 2.0), three versions of Safari (1.3, 2.0 and 3.0) and Opera 9.2. When appropriate there is also a discussion of or list of appropriate values and discussion of usage.
At the end of the book is a single appendix which contains an alphabetical index of properties. There is no proper index for the full book, which is not as bad as it could have been, without the other tools, but is still disappointing.
The typography is clear. The book is concise and clear with little wasted space or verbiage. The color scheme for highlighting the various sections is extremely easy to read and pleasant.
There is one more feature of the book that, aside from content, makes it very useful. There is an online edition of The Ultimate CSS Reference and as far as I can tell, it is completely open to use by anyone without any kinds of restrictions. I couldn't find any in my copy of the book, I didn't have to sign up for anything to use the site. This really makes up for the lack of an index as the entire book is searchable from the site. For me, it is the best of both worlds. I have the dead-tree version on my shelf, ready to pull down and satisfy my curiosity. I have the electronic version freely available on the web site, should I need it. The site has the added bonus of including an area for comments on the contents of the book, and there are already some helpful comments and tips there.
I think then, it is safe to say that mechanically this is a more than acceptable reference. The other important piece aside from it being usable, is the quality of the information itself. Good information is useless if one cannot get to it, and a great access system is useless if the information is no good.
The authors, O'Brien and Olsson are themselves extremely experienced in the field and I think it is safe to say they are experts in regards to CSS. The book also had two experienced "Expert Reviewers" in Natalie Downe and Roger Johansson. I couldn't find any problems with the content, and I think that it is safe to say that these four, along with others have done due diligence to provide an accurate guide to CSS.
Is this the ultimate CSS reference? I haven't read the others, and ultimate seems to imply comparison to me. So while it might not be the ultimate, I do feel comfortable recommending it to anyone who needs an extremely usable, accurate reference to CSS. I would even recommend it to a beginner who wants to learn CSS, though they should probably augment this book with something aimed at teaching CSS, not just providing a reference.
You can purchase The Ultimate CSS Reference from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
The ultimate CSS reference is Google. Just follow their search results and not their example.
CSS isn't all that difficult, but it's the edge cases and browser incompatibilities that are likely to cause you headaches. There are many excellent sites out there tracking these topics, and collectively they do a better job than any book could hope to do.
or indeed a book on anything related to website coding?
It's all online and much more up to date.
I can only think of one thing worse than buying a book on CSS, and that's writing one - yawn!
Before IE9 or whatever stomps all over 1/3 of the subject material...
Cretin - a powerful and flexible CD reencoder
I mean really....
you can't grep a dead tree
Will this book have a single iota of information in it that I can't get from the w3c?
I know there will be people who'll say "why use a reference BOOK, when I can look it up fast, free, relevant, and up-to-date on my computer".
To you cynics, I'd say, fine, but what if you're on the road, and have no laptop, and you absolutely must... uhmmm.
Never mind.
This brings back the question in the minds of ignorant people everywhere, why we are even switching from tables.
I remember, years ago, buying a book on CSS from O'Reily. It went into quite a bit of detail, although some of it was redundant. (That is, they'd show you how to do whatever the chapter was about for the same five types of page in each chapter.) However, the author neglected to include one very important, basic fact that made the book useless to me: he never showed how to get a css file into a web page. I'm sure all you web designers and webmonkeys out there are smirking, but remember, somebody had to show you how to do it too. At the time, all I knew was basic html, not even enough to use such things as frames, but I wanted to do some simple things like make sure all the pages on my private site had the same color scheme without needing to cut and paste from one to the other. Alas, the book turned out to be useless to me because the author thought that what I needed was too obvious to bother with. I hope this book is different, and that a reader who knows absolutely nothing about css will find enough here to be able to use it in their web site.
Good, inexpensive web hosting
I admit I was curious to see.
Thank you for admitting your curiosity. I was concerned you were embarrassed about your interest, but I can see now you are comfortable sharing your desire to learn. Kudos to you, I hope your shining example will encourage others to step forward.
C'mon mods - parent post should obviously be modded 'funny' or 'troll'!
I don't have gobs of experience with sitepoint books, but that's just because what experiences I HAVE had with them have been nothing short of atrocious. Their Rails book was so ridiculously wrong-headed it didn't even 'sell' after they made it FREE. Looking at their site briefly, I don't feel even a LITTLE bit like this is 'the ultimate reference.'
Their 'layout properties' page may as well be a page from the w3, and indeed looks ridiculously similar. This book seems crap, from my quick glance, and I've been doing web development professionally for over 8 years. Meh.
-knewter
No I'm not trolling here. CSS is clearly superior for formatting fonts and such, but I have yet to really understand why it is better than using tables. Tables are pretty logical things to understand and seem to work the same in all browsers.
I'm a hacker, not a designer and using tables is just easy for me. If I want to spend a lot of time learning "the right" way to use and implement css, I suppose I could, but I just don't see the benefit. Tables just work. The customer doesn't give a shit if you are using css or tables.
How is a page done in css that looks the same as a page done it tables better? I haven't worried much about SEO in a long time, but it seems that Google doesn't mind tables either...
There is a better book for beginers if you will as far as basic CSS. It is HTML, XHTML, & CSS 6th edition by Elizabeth Castro. This is an excellent reference, one I use almost daily.
Isn't the ultimate reference the definition?
http://www.w3.org/TR/CSS21/
http://www.w3.org/Style/CSS/
Imagine if you weren't allowed to use roads because a bus company complained about your driving 3 times. --skunkpussy
The short review uses the word extremely 4 times in just a few paragraphs, and that made me a bit skeptic...
Unselfish actions pay back better
to make a stick to beat the web browser architects to sit down in a fricking room and decide once and for all how all this stuff (HTML, XHTML, CSS, etc) will be processed?
I spent the better part of an hour trying to figure out why three divs wouldn't float left properly. Divs worked find in FF and Opera, but not in IE. After searching Google (to no avail, there), I ended up fixing the lowest divs width to a fixed pixel size just to spread it far enough to move it to the proper position. yay.
I am sure FF and Opera have weirdnesses of their own, so this isn't a Microsoft bash.
I will second that. I have been burned by Sitepoint 4 times now. I buy lots of computer books because I like to get away from the monitor when I read. Sitepoint books suck consistently. Even if the subject of the book matches exactly what I need I would not buy another Sitepoint book. Their code examples have an almost 100% failure rate. I don't know how they keep popping out one pile of shit after another but they keep doing it.
I can design a web page in Photoshop. Once designed, I can slice it up, export to HTML, all in 5 minutes. Why would I need CSS except for text look and feel? 1) Oh look, you have to make one or more separate CSS files or exceptions to handle IE6, IE7 or other "bad" browsers? I'm sorry, my little Photoshop sclice-based website is fully compatible! How long does it take you to make a CSS based site again? More than my slice based site? 2) Is my little pixel and table based website for you loading too slowly? Then it must be 1998 and you must be used to designing for those machines and internet speeds. Pixel spacers used for tabular layout work just fine on most machines and internet speeds in 2008. I can tweak my slice-based site to add alt tags where necessary, but the difference in loading time for a slice-based site is negligible. 3) I'm sorry that your client, who asked for a website designed that they can edit easily and manually, has such a problem working with your nifty CSS-based layout in Dreamweaver or any other similar program. It's not their fault that CSS as a basis for web page layout sucks for the average user or designer and that it is non-intuitive. But it's all about "web standards", right? CSS is great for 1) Text look and feel 2) Websites meant to be viewed on anything other than a PC or by the handicapped 3) Certain types of search engine compatibility 4) Larger sites that change their design on a regular basis. But for Joe Schmuckatelli's little Real Estate website or Restaurant website, table layouts work just fine.
One of my favorite CSS resources is http://culturedcode.com/css/reference.html. It's similar to the book's website but a bit more lightweight.
Okay slashdot. This will fuck you up:
important==!important
Importance. A CSS Godsend. How else could I have made Remedy look beautiful prior to 6.0?
Also, I am am drunk and anonymous, a position most would envy.
I think this post makes a lot of sense and I agree. However, anytime I see the word "meh" I automatically discredit you. Please, "nothing to see here" seems to have died, let "meh" die as well.
use your turn signal! you people act like it's divulging information to the enemy
I'm still waiting for a book about how CSS destroyed the web. Before that, I could scale webpages and read it all - then the army of idiots from newspaper marched in with their expectation of WYSIWYG and started using absolute font sizes all over.
If Google really cared they would fix Android Chrome to reflow text, instead of discriminating
If this was a question in disguise:
For the german speaking croud, I think SelfHTML with it's part about CSS is a very usable reference, apart from the above mentioned W3C specifications.
Other useful material consists of diverse articles on A List Apart and meyerweb; and many bits and pieces can be found on Listamatic, BlueRobot and Zen Garden, just to mention a few of my favourites.
Oh, and don't forget to search the web for those cheat sheets needed for IE 6 and other old browsers.
They supply a framework for developing layouts that will work for all browsers while you only have to specify the basic details. The framework takes care of the rest. Stop worrying about which browser you are going to work with and get a framework that gets the groundwork written. Everything is taken care of for you. Then you can style the page how you want without worrying if users of IE 4 can view it.
I've bought her dinner and drinks a few times and we've split the check a few others.
Her pussy is so tight I was worried about ripping it. Oh my God. It was like fucking a virgin without the mess.
http://www.thinkgeek.com/tshirts/generic/8753/?cpg=cj&selsku=1
-knewter
The key thing is this book is illustrated. Often, I'd rather see the snippet and the picture of what it would do rather than read the official spec. That isn't to say that the spec shouldn't be read. Saying that anyone wanting to learn CSS should start with the W3C spec is like referring someone who wants to learn C to the BNF describing the C language.
Start out being a student then head to becoming the master. If you communicate with others in the most abstract way (W3C spec, even with its examples), then they won't want to communicate with you no matter how smart you are.
-fragbait
Writing a comprehensive book on CSS is not an issue, and really... W3C has a nice homepage that is actually quite well indexed on Google.
Having a few years of experience I feel that any *practical* CSS book will focus on how a few key aspects with the web as it is today:
* What should be possible by todays accepted standards (css = 2.1)
* What is actually possible (things like text-shadow is only supported by safari (and some other more niché browsers))
* How your CSS can degrade beatifully in order to support IE 6 and still take advantage of the new features
* A couple of "watch out" to avoid common IE6/7 CSS issues such as "don't use both padding and width/height due to ie's box model", "float + margin = double margin" and other common guidelines.
* Common techniques like "sliding doors" for round corners and other nice tips to make effective use of the actual commands.
Well anyway.. Those are the things I would focus on in my book. I find writing a beginners guide or just a reference is redundant. CSS is practial - most developers usually learn it on a need-to-know basis.
The book is on DESIGN, not the technical aspects of CSS. It is aimed at developers who already know what they are doing but perhaps need inspiration or ideas to make sites that look good.
Have a look at csszengarden.com, a site run by the author. You won't learn how to do that from google queries, that's for sure!
Yeah if you want to be a complete tool and hints of yahoo's name in all your id and classes.
CSS isn't so hard that I'm going to use a framework. I've written enough CSS that I can go back and reuse what I've already made. Most IE hacks are in separate files and can be reused quite quickly. That alone solves a lot of the problems.
Item one: "Something as simple as modifying a WordPress blog".. What? Since when is that in the category "simple"? If you do web-stuff, you need CSS, if you do Linux kernel programming you need C. It has nothing to do with simple.
Item two: Quirksmode .. and in the end, one site to rule them all. Screw books.
Maybe it started with the whole idea of "unboxing photos"; I'm not sure. But an awful lot of reviews seem to fall in the "YOU ARE IN A HELICOPTER" bucket: True, but not useful.
This book is published on milled wood fibers, commonly called "paper"; it's a pleasant shade of cream, perhaps a bit brighter than ivory, yet darker than a Rubbermaid white spatula used for comparison. The pages are rectangular, measuring 7.23" x 5.05", with a sharp edge reminiscent of a good Martin-Yale trimmer. (For reference, I have published a picture of an average rectangle below.) The book was published on a 1200dpi offset press, with the plates generated directly from digital content.
Graphically, the book is similar to those we've become used to in the past few centuries. An incremental integer graces the bottom outside corner of every page, allowing one to turn directly to a specific page, if one is able to remember, or otherwise determine, the page number. A so-called "Table of Contents" (or TOC as it's known in the industry) allows you to jump directly to the beginning of a chapter, in conjunctioned with the aforementioned "page number" feature. Additionally, the name of each chapter is printed in italicized lettering opposite each page number, which allows you to remember what chapter you're reading, if you should happen to forget.
Etc...
And this is exactly why the dot com bust was such a bitch! Mod lol or you don't remotely have a sense of humor.
Nobody said it was difficult, but why do something that's done for you? You can boo yahoo all you want, but if you're developing a site the last thing you want to do is waste precious development time trying to tweak for every browser on the planet. No point re-inventing the wheel, doing that makes you a complete tool.
That alone, as mentioned in the article summary, should be worth quite a bit. That's like getting the index in the back of the book right - it seems like a small thing they should be able to hire a college kid to do over the summer, but it makes a big difference.
I have yet to really understand why it is better than using tables. Tables are pretty logical things to understand and seem to work the same in all browsers.
Actually, you're right. It's not CSS itself that's the problem, it's the DIV/FLOAT/CLEAR approach to layout. DIV/FLOAT/CLEAR is a one-dimensional layout approach. Trying to bash it into doing a 2D cell-like layout is difficult and ugly. Doing three columns in DIV/FLOAT/CLEAR is a classic hard problem. The DIV mechanism just doesn't have adequate alignment tools. If DIVs could be arbitrarily constrained relative to other DIVs ("Left edge of B must align with left edge of A, above"), DIVs would have more power than tables. But, as currently designed, they have less expressive power than tables.
The limitations of DIV/FLOAT/CLEAR layout lead web 'designers' to use absolute positioning. This leads to pages that look wrong if resized, or worse, text on top of text. Then there are Javascript hacks to put positioning logic onto the web page, which rapidly gets complicated and tends to be buggy.
WYSIWYG tools work much better for tables than for DIV/FLOAT/CLEAR layout. Try Dreamweaver in both modes.
Really. That makes it completely useless in my book. The only way I ever use a reference is by looking up what I want to know in the index, and going straight there. For a reference book, a table of contents—no matter how detailed—just isn't much use. A good index (and making a good index requires work and skill on the part of the author or editor) allows me to quickly zero in on the topic I have questions about; a table of contents is only a list of what's in the book, which is arranged in a way that made sense to the author—but not necessarily to me.
At work, I find myself using Google and paper references about 30/70 (in favor of paper) when it comes to programming questions. Google helps me ferret out some of the more obscure stuff, and helpful insights by, for example, fellow victims...er...I mean cognoscenti of XSLT. Why do I use paper at all? Well, paper stays open on my desk...I've usually got 3 or 4 references opened up, with pens stuck in important places. Every time I want to google for something, I have to minimize the editor window, pop Firefox, make the query...then I've got about a dozen open tabs, and I forget which is which...then I have to open the editor again and look at my code...ok I guess I use paper because I'm disorganized. And besides, it helps sop up the spilled coffee.
Great men are almost always bad men--Lord Acton's Corollary
This book appears to contain inaccuracies. For instance, this page indicates that Safari through version 3.0 does not support widows. Without even considering that Safari 3.1 was a substantial upgrade in CSS support ... Apple says Safari has supported widows and orphans since Safari 1.3.
You can also use CSS in SVG
Yeah I know what you mean (Seriously, this time!)
I've always appreciated reading a real paper newspaper, or a book or magazine late at night in bed.
Not sure why; it's probably the tactile sensation as you describe. Or perhaps the softness of the appearance, which a laptop monitor still cannot seen to deliver.
Somehow the finger-tips hitting on the keyboard or the stroke of the mouse late at night doesn't have the same appeal. (no double-entendres please)
I've downloaded a few books from the Gutenberg project, including Joyce's Ulysses, which I had never read.
Well it's been whirring around on my hard disk(s) for three or four years now and I STILL haven't read it!
But it's very handy for looking up a phrase or passage in SECONDS, when I wish to appear intellectual online. Ahh.. the power of pretentiousness!
I've been working in computers for more than forty years and have now been retired from the office without ever seeing it go paperless, Though goodness knows I tried my best the last 20 years.
But for the life of me, I do NOT understand the value of printed tech reference manuals about computer topics. They invariably become obsolescent within a year anyhow. Mine were all thrown out years ago.
But for tenured twits, I suppose books lend some authority when neatly lined up, gathering dust on the professors' shelves.
Studying computer operation is kinda like turning off your lightbulbs and reading a manual about lightbulb operation by candlelight.
Helloo! Get with the program, Luddites!
When it comes to ANY computer work, I do ALL my research and cutnpaste / composing stuff ONLINE.
|rant> Grrr... this is starting to turn into a rant.. I better stop! |/rant>
.
.
- aqk
F U
But for the life of me, I do NOT understand the value of printed tech reference manuals about computer topics. They invariably become obsolescent within a year anyhow. Mine were all thrown out years ago.
I've got a few. Caveats abound, such as personal preferences, the specific topic, and the skill of the author, but nevertheless...
It's hard to look up what I don't already know about in Google. My search terms are what I do already know about but lack detail ... I discover more completely new ideas by reading a book. But then, I'll browse through a dictionary too.
It can be faster to look something up in a book than online, especially to see the connections I might not have immediately gone to in my own mind. It's faster to flip between chapters, for me, than to look up mulitple web pages. Generally, a good reference book is much faster for me than an Internet search.
A dead tree never goes offline, but I do. It's useful to have a reference I don't need to look for, and it's useful to get away from my desk. Getting what I need from a book instead of a website is an opportunity for both. Depending on what I'm working on, I can reinvigorate the process by working with a reference book, paper and pen instead of at the computer. My thought patterns change.
Nothing like having 50 people shouting 50 different answers to confuse you further. Granted, you can always find your answer: But often you'll find multiple answers, and have to try them all out until you find one that's satisfactory. If a book ends up being "right" most of the time, it could indeed save a lot of time.
-Clio
Karma: Bad (mostly from not giving a fuck)
Blog: http://clintjcl.wordpress.com
Haven't we still learned? If you only have a hammer, every problem starts to look like a nail.
Granted, layouts based on tables only are ugly and pita to maintain. But otoh layouts based on CSS only often require ugly css hacks, it's hard to achieve some goals (e.g. having multiple columns of same - but not fixed - height, see the web for some of the bizarre "solutions" for this like using background images) and thus require lot of knowledge and work.
While in theory tables are only meant to organize tabular data i think its perfectly legit to use a layout table if using CSS in this specific case would be much more complicated and require much more work. While it might not be the "perfect" solution, it can very well be the wisest one in terms of time involvement, cost (some people code pages for a living and are constraint to a budget!) and portability (CSS hacks are just that: hacks and they can bite you in the ass in the future).
You need books to learn CSS? W3Schools and Google would provide more precise and useful information than any book.