Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

The Ultimate CSS Reference

Posted by samzenpus on Mon Aug 04, 2008 01:21 PM
from the read-all-about-it dept.
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.
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.
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Google (Score:5, Insightful)

    by CopaceticOpus (965603) on Monday August 04 2008, @01:25PM (#24470355)

    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.

    • Re: (Score:3, Informative)

      Especially since a book will quickly become outdated. They can't possibly know what incompatibilities will come up in future browser releases, or what will happen when they start implementing CSS3. If you want to know the basic idea of CSS, and how the concepts work, then a language reference isn't the way to go.
      • Re:Google (Score:5, Interesting)

        by TheRedSeven (1234758) on Monday August 04 2008, @01:32PM (#24470455) Homepage
        Google's usefulness aside, I like having a dead-tree reference sitting on my shelf for ease of use.

        However, in this case I think the best part of this whole review is the link to the SitePoint CSS Reference website [sitepoint.com].

        That website is a useful tool all by itself!
      • Re:Google (Score:5, Insightful)

        by CRCulver (715279) <crculver@christopherculver.com> on Monday August 04 2008, @01:45PM (#24470637) Homepage
        One thing that hasn't quickly shown itself as outdated, however, and which isn't so easily accessible from Google as coding references, is web design in general. I recently picked up The Zen of CSS Design [amazon.com] and am amazed at what beautiful and usable layouts are possible with standard CSS. There's plenty of resources on how to write up a file full of CSS style rules, and too few resources that tell you how to create a site people will really want to look at.
        • I'm not so sure about that. 10 year ago, we were all using tables, and it was the "best" way of doing layout on the web. Now we've all moved to using divs, and generally it works a lot better. However, who's to say in another 5-10 years we won't move onto some other way of doing it? Also, Like I said, a language reference isn't so good. The Zen of CSS Design looks like it's much more about concepts and good practices, and isn't simply a language reference.
    • Re:Google (Score:5, Funny)

      by an.echte.trilingue (1063180) on Monday August 04 2008, @01:41PM (#24470589) Homepage
      Besides, the book is not very complete. I perused the table of contents, but I couldn't find the section on making table based website templates anywhere. How are we supposed to make three column pages without tables?
    • Re:Google (Score:5, Insightful)

      by fm6 (162816) on Monday August 04 2008, @01:54PM (#24470761) Homepage Journal

      Especially one that doesn't have an index! The reviewer says that the presence of an online searchable copy of the book makes up for this. But if I have to go online to look something up, why do I even want the book?

    • Re: (Score:2, Funny)

      by Anonymous Coward

      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.

      Yes, there are many excellent sites out there. For example, here's one really excellent site [sitepoint.com] by Tommy Olsson and Paul O'Brien, hosted by some publisher called SitePoint.

    • Re: (Score:3, Insightful)

      The ultimate CSS reference is Google. Just follow their search results and not their example.

      Providing you know the magic search string that leads you do the answer you need. I had a problem with floating divs in IE last week-end. I searched and came acorss some answers related to "has Layout", but none of those suggestions worked.

      Search engines are a wonderful thing, but they aren't the magic bullet you are asserting.

      • I originally found this one [communitymx.com] via Google, but I don't recall what I was searching for. I suspect it may be what you're looking for though.
  • by Anonymous Coward

    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!

    • by Jellybob (597204) on Monday August 04 2008, @02:46PM (#24471609) Journal

      As a place to start out I often find books very useful to have. It's not going to teach you everything, and it's unlikely to be completely up to date.

      What it does do though is to give you an overview of what you need to know, and cruically, how those parts fit together as a whole. Once you know that, it becomes a lot easier to know what to search for when you hit the inevitable compatiability bugs, and awkward edge cases.

  • by krog (25663) on Monday August 04 2008, @01:28PM (#24470405) Homepage

    Before IE9 or whatever stomps all over 1/3 of the subject material...

    • Re: (Score:3, Insightful)

      Before IE9 or whatever stomps all over 1/3 of the subject material...

      Dude, if you do it carefully, it'll always be *valid*. It just might not *work*. :)

      It's a corollary of the IBM Pollyanna Principle. The corollary states, "Software should be coded to comply to the relevant standards." :)

  • by Sir_Real (179104) on Monday August 04 2008, @01:31PM (#24470445)

    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?

    • Re: (Score:3, Interesting)

      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?

      Info that you can't get from w3c, no. Some people (myself included) prefer the tactile feel of a book; being able to flip around, etc. Flipping around in a PDF makes me insane.

  • by techno-vampire (666512) on Monday August 04 2008, @01:43PM (#24470611) Homepage
    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.
      • No, it wasn't written as a reference work, although your point is well taken. If it were, there'd have been no need for all the repeated examples. As it was, I got the impression that they were there to fill out an otherwise very small book.
  • 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

  • by Anonymous Coward

    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 u

    • A page laid out using CSS is way more flexible. You can adjust the width of your sidebar without worrying that the widths of other parts of the page will change.

      All the design elements of your page have greater independence from each other with CSS. Want to move that bit of text up? Fine if it is just a div but not so fine if it is a cell making up half a column that is spanning 4 rows...

      Tables work for simple stuff fine. CSS is the only route for anything more than that.

      I've done pure table-based layout an

    • by Jellybob (597204) on Monday August 04 2008, @02:52PM (#24471705) Journal

      The customer doesn't give a shit if you are using css or tables.

      No, but they do care that it's taking you twice as long to get the job done because your stuck in eight nested table cells.

      Once you get used to CSS, it's hugely quicker. Wouldn't you rather say "put this block over there", then "nest this block, in that one, which goes to the left of that one, and then that nests here"?

    • 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 [webmasterworld.com] is a classic hard problem. The DIV mechanism just doesn't have adequate

      • You shouldn't have to work at all for your HTML/CSS, it's easy. If you feel there is something of a learning curve, of course there is. And once you've learned what you need you find you can do things way more powerfully than before, and more easily.

  • Ultimate (Score:5, Insightful)

    by spottedkangaroo (451692) * on Monday August 04 2008, @02:10PM (#24470963) Homepage

    Isn't the ultimate reference the definition?

    http://www.w3.org/TR/CSS21/ [w3.org]

    http://www.w3.org/Style/CSS/ [w3.org]

    • no not in the real world, since the interpretation of the standards varies.
      broken browsers are not a problem for w3. Everyone else needs working solutions.

  • This book claims to be the ultimate though, and that made me approach it with a bit of skepticism.

    The short review uses the word extremely 4 times in just a few paragraphs, and that made me a bit skeptic...

  • 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
  • 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.

    • You're kidding, right? Any browser worth its salt will resize absolute font sizes by %.

  • They supply a framework [yahoo.com] 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.
    • 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.
  • 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

  • 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 [quirksmode.org] .. 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...

    • Re:CSS or Tables? (Score:5, Informative)

      by Fallingcow (213461) on Monday August 04 2008, @02:23PM (#24471165) Homepage

      A lot of things are easier in CSS than with tables, not the least of which is producing legible markup. Table layouts are always a confusing mess, no matter how skilled the author, whereas a CSS/(X)HTML writer of even moderate skill can produce complex layouts that are, if not wonderful, at least much, much easier to read and understand than tables.

      Then again, some things are harder in CSS, but that has more to do with IE's horrible implementation than with a flaw in CSS itself. In the end, very simple sites won't have those problems, so you might as well use CSS to keep things clean, and more complicated sites WILL have CSS problems but they'll still be easier to deal with than digging through a soup of TABLE, TR, TD, and TH tags.

      • Tables aren't meant for layout. They're meant for tabular data which they are still superior for as they are old and there for work perfectly for any browser and in this day and age you shouldn't have to be writing out tables. You should have code that spits out data from a source in a table for you and then you just have to worry about writing a little CSS to style it.
      • Absolutely. Let's talk examples.

        In old-school webpage design, text and graphics were placed on the screen using tables. This is the primarily the use that should generally be converted to CSS. Things like placing a vertical menu next to a block of text, centering a heading over some text, or mixing images and text in a heading. I have seen html laid out with multiple nested tables simply to get different levels of indenting for different blocks of text.

    • Because layout done with tables is a royal pain. Divs done well kick the backside of tables.

      • If you layout a site with tables you've missed the point of tables completely.
        • Re: (Score:3, Insightful)

          Missed the original point, yes. But until CSS came along, tables was the only way to get a decent layout most times. Lots of dogs only remember the old tricks ;)

          • You are correct that at one point you had to use tables but a lot of people had ie and netscape versions of their site or low res / high res versions and frames galore. A lot of mistakes were made. It's best we forget about them. ;)
      • DIVs don't have semantic meaning because they are not supposed to. They are only supposed to be used to DIVide up your content as needed for CSS styling... as in, give your DIVs a unique ID so you can scope your styles.. that's it... nothing more. If you choose to also style the DIVs so they have presentation, that's your choice but since DIVs have no semantics, they can be ignored as far as the actual content goes, as in a screen reader should not read a DIV at all...

        If you want semantic structure to your

    • Sounds great for sites with 3 pages. Would like to know how you cope with 10 or so. Do you use a template? What about when the time comes to change the heading on each page?
      OK professional web developers get this all the time and your method would never work in a professional environment, although you probably know this.
      It is surprising how many people use Photoshop for design without having used anything better, simply because they didn't realise that there *was* anything better.

    • What you are doing is not very modular and would be difficult to modify at a later date. Yes, you can use Photoshop for small sites that won't change often, but for anything with even simple dynamism, static publishers like that are difficult.

      I hear you on using tables for placement. Heck, alot of sites still do because there is no question how tables are rendered, but from a development perspective, tables and nested tables are a bitch to maintain.

      You can do all that stuff with CSS, easier once you