Slashdot Mirror


CSS: The Missing Manual

Michael J. Ross writes "Ever since Cascading Style Sheets (CSS) first appeared on the Web scene in the late 1990s, a plethora of books have been written and published that purport to explain how CSS works, and how to make it work for you. So why would any publisher decide that what the technical world needs is yet another CSS book? Perhaps because they have taken a close look at the bulk of those available titles, and found them to be wanting — filled with overly theoretical explanations and sample code that is far too focused on some pet domain of the author. Such books may be adequate for the veteran Web developer, who has the time and inclination to separate the wheat from the chaff. But developers new to CSS need much more approachable material, with clear examples. Perhaps that is the thinking behind CSS: The Missing Manual." Read the rest of Michael's review. CSS: The Missing Manual author David Sawyer McFarland pages 494 publisher O'Reilly Media rating 7 reviewer Michael J. Ross ISBN 0596526873 summary An accessible guide to using CSS with HTML.

Written by David Sawyer McFarland, CSS: The Missing Manual is published by O'Reilly Media, as part of their Pogue Press series, under the ISBN 0596526873. It first came out in August of 2006. The publisher maintains a Web page for the book, where visitors can find a link to register their copy of the book (does anyone do that?), a page for submitting errata (none yet, as of this writing), a form for posting a review on the O'Reilly site (again, be the first!), and a sample chapter (Chapter 1: Rethinking HTML for CSS) as a PDF file. There are also links for purchasing the book in the U.S. or the UK, and for reading the online version, as a part of O'Reilly's Safari service.

The book's 494 pages are organized into 14 chapters and three appendices, grouped into five parts. In addition, there is an index, as well as a terse but meaty introduction, which even includes a summary of HTML. The humor for which the Missing Manual books are known, begins early, in introduction, though in this case probably not intentionally: Page 9 claims that the book "is divided into four parts," and then lists the five parts. Before commenting upon those five-ish four parts, it should be noted that the table of contents runs seven pages, listing the book's parts, chapters, sections, and subsections. Future editions of the book would benefit from an overview table of contents, similar to those used in an increasing number of technical books, to good effect.

The 14 chapters cover most if not all of the essentials: writing HTML for CSS; creating styles and style sheets; determining what to style; using inheritance; using cascading; formatting text; setting margins, padding, and borders; styling graphics; styling links and navigation bars; styling tables and forms; creating float-based layouts; positioning page elements; creating print stylesheets; and writing maintainable CSS code. The three appendices include a CSS property reference, a discussion of CSS use in Dreamweaver version 8, and a listing of CSS resources to supplement the book.

On the positive side of the ledger, the author does a commendable job of clearly explaining all of the essential topics that the typical developer would need to understand in order to begin developing a robust Web site based on HTML and CSS, or reworking an existing site that is in desperate need of an overhaul. The clear explanations and bite-sized examples demonstrate that David Sawyer McFarland is not only an experienced Web developer, but likely has spent considerable time explaining to others how to do the same — as a writer, trainer, and instructor. This book is not his first, for he has previously written Dreamweaver: The Missing Manual.

One valuable aspect of the book under review, is that McFarland discusses how to overcome the most commonly encountered browser problems, in which Web pages employing CSS are not being formatted as one would expect and as specified in the CSS standards, by misbehaving browsers (that means you, "Internet Exploder"). Moreover, the book is also one of the first to document the significantly enhanced, long overdue, and welcomed CSS support in version 7 of the most commonly used Web browser (yes, we're still looking at you, "Browser by Bill").

The book is one in a series of many so-called Missing Manuals, whose tagline is "The books that should have been in the box," and whose Web site characterizes them as "Warm, witty, and jargon-free, [with] enough clarity for the novice, and enough depth and detail for the power user." In many respects, McFarland's latest contribution matches that description. In addition to the straightforward and yet comprehensive discussions of each topic, the author imbues his writing with a bit of humor, without overdoing it, or trying too hard, as is sometimes seen in other books covering subjects that admittedly can be quite dry.

On the negative side of the ledger, someone — or, more likely, some committee — somewhere along the decision chain, stipulated that almost every page of the book should be formatted so that the outside 1.5 inches, which is the easiest for a reader to see, should be consumed by a mostly empty and useless gutter, the bulk of which is filled with a light gray bar. This pushes the text, which slightly more than 4.5 inches wide, further in, toward the book's binding, and thus more difficult to read. This is true even though O'Reilly has wisely chosen to use RepKover, a flexible lay-flat binding. This exasperating style of layout is not characteristic of O'Reilly's books, which are generally much easier to read, with more sensible margins and often larger font.

One of the first principles taught to those learning Web design, is to avoid using white text on a black background. Such Web pages usually try to appear cool and edgy, but instead often comes off as immature in the eyes of an Internet veteran, and sinister to the Internet newbie. It doesn't work on Web sites, and it doesn't work in Web books. Sadly, O'Reilly chose to use white-on-dark-gray for many of the book's sidebars, making them difficult to read, especially as the sidebar text font size appears to be a bit smaller than that of the regular text.

In a nutshell, the content of this book is excellent, while the presentation of that content leaves much to be desired — ironic for a book focusing on CSS, whose primary purpose is to modularize and simplify presentation, neatly separating it from content. Ranking the content and presentation on a scale of 1 to 10, I would give them 9 and 5, respectively. Yet on balance, just as is true for most Web pages, the content is more important than its layout and other aesthetic considerations. CSS: The Missing Manual is a well-written, lighthearted, up-to-date, and easily accessible guide to modern CSS and how to use it in the real world.

You can purchase CSS: The Missing Manual from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

151 comments

  1. Now if only by thrillseeker · · Score: 4, Insightful

    *all* browsers implemented it per the W3C standard.

    1. Re:Now if only by Tackhead · · Score: 4, Funny
      > *all* browsers implemented it per the W3C standard.

      That's what's so beautiful about standards. There are so many implementations to choose from!

    2. Re:Now if only by hclyff · · Score: 2, Funny
      Now if only *all* browsers implemented it per the W3C standard.
      Now if only we could make gold out of pig dung.

      Anyone wanna bet what's gonna come first?
    3. Re:Now if only by 8ball629 · · Score: 2, Insightful

      *cough*IE7*cough*50%*cough*

    4. Re:Now if only by Anonymous Coward · · Score: 0

      Good luck. It's not like lynx is going to ever care about background color/images, or units in px/em/etc.
      Btw, I think lynx is still the best web browser. It gets me the content and spares me the BS. ;-)

    5. Re:Now if only by rthille · · Score: 1

      Unfortunately, that would require that someone go back in time and have Tim Berners Lee implement CSS in 'WorldWideWeb.app' on NeXTStep. In which case, we probably still wouldn't have the WWW...

      --
      Awesome furniture, accessories and cabinetry in Santa Rosa, CA: http://humanity-home.com/
    6. Re:Now if only by geekwithsoul · · Score: 4, Insightful

      But that is the great thing about the CSS standard -- if a browser does not support a class of features (i.e. like lynx with graphics and colors), a properly coded and standard compliant page will degrade gracefully. The company website I've designed is 100% standard compliant and not only degrades gracefully, but when viewed in a text-only or PDA browser re-orders the content and navigation so that it is more user-friendly with how people use those browsers.

      The problem is the browsers like IE that either only partially implement features or (as is most often the case of problems with IE) implement them in a way that goes against the standard. Then you have to either start throwing in cross-browser hacks, browser specific stylesheets, or change your page design.

      I will occassionally get in complaints at our webmaster account about how something doesn't render correctly in a certain browser. My reply usually includes some boilerplate about how our site is coded to support a standard, and not specific browsers. If the browser supports the standard correctly, you've got no problems. If the browser is like lynx and doesn't support CSS at all, again no problem and the pages are semantic XHTML so we make thorough use of heading tags and similar 'built-in' context indicators. If you use a browser that doesn't implement the standard correctly, on your head so be it!

    7. Re:Now if only by drinkypoo · · Score: 1
      The problem is the browsers like IE that either only partially implement features or (as is most often the case of problems with IE) implement them in a way that goes against the standard. Then you have to either start throwing in cross-browser hacks, browser specific stylesheets, or change your page design.

      Yeah, browsers like IE, such as Firefox.

      Just as an example that's on my mind right now, Mozilla does not properly support display: inline-block;. There are two alternate proprietary display properties, -moz-inline-block and -moz-inline-block. Neither one is quite right, but -box is the one that you have to use for inline-block if you want it to behave properly.

      IE bones more of the more obvious things and makes extremely egregious errors (hence the box model hacks etc) but it seems to have better behavior for a lot of other CSS properties. Very odd.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    8. Re:Now if only by Kelson · · Score: 2, Informative
      Just as an example that's on my mind right now, Mozilla does not properly support display: inline-block;. There are two alternate proprietary display properties, -moz-inline-block and -moz-inline-block. Neither one is quite right, but -box is the one that you have to use for inline-block if you want it to behave properly.

      Almost, but not quite right.

      It isn't that Mozilla doesn't properly support inline-block, it's that Mozilla doesn't support inline-block. Those proprietary display properties exist precisely because they don't quite match what inline-block is supposed to do.

      Mozilla has followed similar paths with opacity and outline. While they had preliminary code, they used the proprietary rules -moz-opacity and -moz-outline in order to avoid creating an incompatible implementation. Once they had it working right, they switched over to the standard properties.

    9. Re:Now if only by drinkypoo · · Score: 1

      It's true that neither -block or -box is precisely the same as inline-block. -box just comes closest. And why have two proprietary display values, and not support the ones that are supposed to be there? Instead of fixing them, they were just renamed? (I imagine the actual answer is that both of them are candidates for inline-block, and one of them will become it...) But anyway, half the point is that if you need inline-block, you can get almost the right thing the other way, and the other half the point is that there's no inline-block support, which makes the baby jesus cry.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    10. Re:Now if only by Bogtha · · Score: 3, Informative

      And why have two proprietary display values, and not support the ones that are supposed to be there?

      Because inline-block isn't supposed to be there. Not yet. The inline-block property was a proprietary Internet Explorer property. It has been added to CSS 2.1, but that specification is not yet finished - it's a working draft. So far, no finished W3C specification includes inline-block, it's still a non-standard Microsoft extension.

      --
      Bogtha Bogtha Bogtha
    11. Re:Now if only by Savaticus · · Score: 1

      The this means you Internet Exploder is very uncalled for lately, microsoft is moving forward with better adoption of W3c standards while Firefox is slipping behind, to name a few in 1.5, height: auto; won't dynamically stretch for content past a certian point when applied to a td element, and various inheritence issues.

    12. Re:Now if only by beermad · · Score: 1

      Unfortunately, IE doesn't degrade gracefully for everything it doesn't understand.

      There's a nasty bug which means that floated divisions can disappear completely for IE users. This caused me a lot of trouble when I re-designed my site last year because my navigation division, which showed in every other browser, didn't appear in IE.

      It took me a lot of searching for a solution before I discovered that "anchoring" two divisions together with a single   would fix it.

  2. New users by Anonymous Coward · · Score: 0
    But developers new to PROGRAMMING need much more approachable material, with clear examples.

    There, fixed it for you. For everyone else, there's the W3C.
  3. I Use Google by neonprimetime · · Score: 1

    writing HTML for CSS; creating styles and style sheets; determining what to style; using inheritance; using cascading; formatting text; setting margins, padding, and borders; styling graphics; styling links and navigation bars; styling tables and forms; creating float-based layouts; positioning page elements; creating print stylesheets; and writing maintainable CSS code.

    Granted, I probably learned all of this in CS101, but if I need to remember how to do something, I typically perform a google search instead of paging thru a "missing manual". But, for those that prefer paper, this looks good.

    1. Re:I Use Google by DaveWick79 · · Score: 2, Insightful

      I use google most of the time as well, but there are quite a few users who would prefer to have something organized and indexed in book form than to weed through several pages of google search results. There is something easier about pulling a book off the shelf, finding the section on print stylesheets for example, and having everything about it right there on the page to reference while you are hammering away at the keyboard...

    2. Re:I Use Google by suggsjc · · Score: 2, Insightful

      Agreed.

      However, there are still lots of people that like print. Plus, it is very convenient to have it all in one place. There are great CSS sites, but they usually only cover a few aspects, and even fewer very well. So, for true newbs having a single place to get "all the details" could be beneficial.

      Speaking of googling for technical info (or really anything), while it is obvious to some (most /. readers) **how** to search. It goes completely over others heads. For instance, I know that if I was getting a wierd error with a cryptic message I would just google the program name and the error message or the error code, then filter through the first 10-50 results (usually nothing good after that). While other people don't even have a clue...you tell them to google it and they type something like "error when clicking button at top gives popup that says [cut and past entire message]"

      All that to say, print isn't dead it just serves a differnt role than it used to.

      --
      When I have a kid, I want to put him in one of those strollers for twins and then run around the mall looking frantic.
    3. Re:I Use Google by Anonymous Coward · · Score: 0

      What kinda school teaches CSS in CS101?

    4. Re:I Use Google by WuphonsReach · · Score: 1

      Granted, I probably learned all of this in CS101, but if I need to remember how to do something, I typically perform a google search instead of paging thru a "missing manual". But, for those that prefer paper, this looks good.

      Google is good for specifics, books are typically better at handling the why, wherefore, and "how does this fit into the big scheme" questions.

      I find that most online resources are very good about the "how", but fall far short on explaining the "why" / "where" / "when" questions. Explaining why you use something, or where it fits in the overall framework, or when should I use certain features or technology is something that takes time and effort. Which is more likely to happen in a paid environment such as a book.

      That and it's nice to kick back, relax, put my feet up and read hard-copy. Which looks enough like work without being anywhere near as stressful. The two foot tall towering stack of books also makes for a handy "I'm busy" look. Especially if you artfully re-arrange your books daily and sprinkle printouts all over the work surface.

      --
      Wolde you bothe eate your cake, and have your cake?
  4. Ahh by dduardo · · Score: 4, Funny

    Now I know why IE has such bad CSS support. The IE team lost their copy of the CSS manual!

    Now that is has been found, they can get back to work.

    1. Re:Ahh by fatmacman · · Score: 1

      Naaa... everyone knows Microsoft only uses voodoo when composing web browser code and that the underlying foundations of IE have nothing at all to do with the rest of reality... a manual? maybe they could use it as kindling for thier sacrificial fires as they conjure up the next baffling patch.

    2. Re:Ahh by 6Yankee · · Score: 2, Funny

      There's an acronym for IE's CSS "support": WYSIWTF

  5. Damn by Winckle · · Score: 4, Funny

    I was hoping for a book to help my FPS gaming :(

    1. Re:Damn by SeanFromIT · · Score: 1

      Counter Strike: Source...the missing manual...lol

    2. Re:Damn by blackholepcs · · Score: 2, Funny

      Well, if your a twitch gamer, you can improve your twitch with any good porno book. One hand at a time, or both at the same time if your pretty well endowed. Of course, being as this is /., I have to assume that your vertical twitch rate is already nearing escape velocity.

      --
      Halitosis - (n.) Halle Berry's Camel Toe.
    3. Re:Damn by __aaclcg7560 · · Score: 1

      Try looking under strategy guides instead of web standards (or lack thereof).

    4. Re:Damn by I+Like+Pudding · · Score: 1

      When you can remove the mouse from my hand, it is time for you to leave

    5. Re:Damn by Yvan256 · · Score: 1
      I was hoping for a book to help my FPS gaming :(
      What the heck is frames-per-second gaming?
  6. The best CSS manual by Anonymous Coward · · Score: 2, Informative

    Here is the best manual, from W3C themselves:

    http://www.w3.org/TR/REC-CSS2/

    1. Re:The best CSS manual by Carewolf · · Score: 1

      That one is quite bad though. It is so bad in fact that the edited corrected version of it (CSS2.1) is still not considered good enough for release.

    2. Re:The best CSS manual by soliptic · · Score: 2, Informative

      Obviously I can't argue with the spec as being definitive in theory, but in practice I find this the best manual:

      http://dezwozhere.com/links.html

      When I give people this link in response to CSS queries, I'm fond of adding "if you can't answer your CSS question within three clicks of that page, your question has no answer (or you chose the wrong three clicks)".

    3. Re:The best CSS manual by Anonymous Coward · · Score: 0

      Anyone else find it ironic that Google is linked prominently on the main w3 page, yet Google doesn't even come close to validating?

  7. Keep in mind... by bjk002 · · Score: 5, Insightful

    For you and others like you, there are those who read through all these manuals cover to cover, figure it all out, and answer all the forum questions so that you may "google it".

    --
    Opinion:=TMyOpinion.Create(Me);
    1. Re:Keep in mind... by Anonymous Coward · · Score: 3, Funny

      For you and others like you, there are those who just happen to know everything, write it all down, and sell it to you so that you may "read it".

    2. Re:Keep in mind... by partenon · · Score: 1

      For some reason, I imagine you read every tech book you find in a bookstore, so you can answer other's questions on forums, and then, I can google for it.

      Look, I'm a programmer, specialized on coding the "server-side" of web applications (usually, there are designers helping me on client-side). I don't need to be an expert on CSS*, so, if I need a quick answer about a CSS problem, where do you think I'll start looking for? Just to be a bit clear: don't you, as a good programmer, google for "ORA-1337" oracle errors? Or did you read oracle DBA books cover to cover just because you'll be the one who will answer this kind of question on forums?

      * But yes, I usually read about and practice CSS/HTML/Javascript, just because *I* think a *web* developer should know that.

      --
      ilex paraguariensis for all
    3. Re:Keep in mind... by Anonymous Coward · · Score: 0
      For you and others like you, there are those who read through all these manuals cover to cover, figure it all out, and answer all the forum questions so that you may "google it".


      This presupposes that most useful content originates in print media. I'd suggest that increasingly the opposite is true, which is why even writers for print media are sounding its death knell.
    4. Re:Keep in mind... by TheOtherChimeraTwin · · Score: 2, Insightful

      Very true. Unfortunately when I find my exact question, the most common answer I find is "why don't you google before you ask your question?" Good thing there are manuals!

    5. Re:Keep in mind... by Peaker · · Score: 3, Insightful

      I have responded to quite a few questions in quite a few forums over the years.

      It requires knowledge. Knowledge is not necessarily achieved by reading manuals cover-to-cover.

      My knowledge is almost entirely obtained from experience, trial and error, and reading random web tutorials, articles and sources.

    6. Re:Keep in mind... by bjk002 · · Score: 1

      Touche! Would have been funnier w/o the AC

      --
      Opinion:=TMyOpinion.Create(Me);
    7. Re:Keep in mind... by bjk002 · · Score: 1

      Oh YES!!! I read ALL the Oracle DBA books!! Great literary works!! :) j/k

      Seriously though, I was pointing out to the parent that his remark regarding "google it" and where that falls short.

      Relying on Google is only a solution when others have done the work of reading the manuals, which is what this article is about.

      As I am sure you as a professional would agree, google is not always the right answer.

      --
      Opinion:=TMyOpinion.Create(Me);
    8. Re:Keep in mind... by Anonymous Coward · · Score: 0

      "Oooh look at me, I have a user account and I'm funny..."

  8. Welcome to my hell. by iiii · · Score: 5, Informative

    CSS is a great idea, but doing it in practice blows because the browsers vary so much in their implementation.

    The most useful thing I have found to help is QuirksMode Browser Compatability Tests. I think this guy is insane to have spent so much time testing every single feature in (nearly) every browser, but it is very, very useful to see exactly which browsers support what.

    --
    Light cup, beer drink, thin so chain, neck turtle fat, man I won't say it again
    1. Re:Welcome to my hell. by 99BottlesOfBeerInMyF · · Score: 2, Insightful

      CSS is a great idea, but doing it in practice blows because the browsers vary so much in their implementation.

      I actually find CSS to be very simple in practice, for automated styling and real world use with one caveat: I don't support IE. Seriously. I just follow the spec and it looks great in every browser out there, Firefox, Opera, Safari, whatever. For IE I make sure it sensibly degrades to plain, unformatted hypertext with a note that IE is broken and users should upgrade to any other browser.

    2. Re:Welcome to my hell. by Anonymous Coward · · Score: 5, Insightful

      Must be nice to not have to maintain public-facing pages for a large company, or otherwise actually be in the web business.

    3. Re:Welcome to my hell. by Abcd1234 · · Score: 1


      Must be nice to not have to maintain public-facing pages for a large company, or otherwise actually be in the web business.


      Yes. Very. *shudder*

    4. Re:Welcome to my hell. by nightcrawler.36 · · Score: 1

      You're not serious, are you? if you're developing for a large company you almost always have to support IE--like it or not. I've developed for several large companies and all heavily rely on Microsoft tools. Some of the users that I support have never heard of Firefox or are even aware that there is a rift between browsers. Their page needs to display on a browser *period*. CSS looks different on both so I HAVE to develop for IE because that what most users have and know.

      --
      - nightcrawler "Reality is an illusion, albeit a ver persistent one..." -A.Einstein
    5. Re:Welcome to my hell. by 99BottlesOfBeerInMyF · · Score: 2, Interesting

      Must be nice to not have to maintain public-facing pages for a large company, or otherwise actually be in the web business.

      True. The network security industry usually won't touch IE with a 10 foot pole. We had a really critical IE bug in one of our Web UIs and no one found it for more than a year, until someone used a legacy machine in their testbed as a convenient terminal.

      The sad thing is, if all the major companies would pledge to adhere to Web standards and use them along with the aforementioned download link, the problem would probably go away in short order as everyone would switch or MS would be under too much very public pressure and would fix IE.

    6. Re:Welcome to my hell. by antiWack · · Score: 0

      In practice, it definitely does not blow. If you know how to code properly and comply with standards set by w3c, IE has minimal problems. I have to say that IE does suck and doesn't have enough CSS support, but it's not bad enough for you to fairly say that CSS is not worth implementing. If you are having major problems with getting your CSS to work the same in all browsers, the problem is you. The problems IE has are fairly easy to work around. Again, if you are having major problems, your code must not be up to par with w3c's standards. Semantics are also very important. Do you code with semantics in mind?

    7. Re:Welcome to my hell. by 99BottlesOfBeerInMyF · · Score: 1

      You're not serious, are you? if you're developing for a large company you almost always have to support IE--like it or not.

      The pages are for paying customers, not our public Website. Most of them are accessible from within a Web UI for a product we sold them. The pages are viewed by network security experts at enterprise and major ISPs, not Bob Smith looking to buy something online from his home computer. None of these people really use IE. We had a major bug making one of our UIs unusable in IE and no one noticed for over a year.

      CSS looks different on both so I HAVE to develop for IE because that what most users have and know.

      In my experience, CSS is broken in IE and works in all other browsers. I actually think if major companies simply agreed to support Web standards and provide a disclaimer and download links, the problem would fix itself very quickly as customers moved to browsers that function properly and MS scrambled to fix IE. The problem is, developers are too scared to lose money from customers who won't upgrade (rightfully so). And since Web developers are divided Microsoft gets away with their castration of the Web and causing huge additional costs for Web developers.

    8. Re:Welcome to my hell. by PoprocksCk · · Score: 1

      Yeah, I agree with your sentiment mostly. For me, though, the thing that turns me off is the slowdown that seems to occur from most implementations of it that I've come across (*cough* Mozilla *cough*). With pages loaded with fancy CSS, I find myself manually turning styles off in my browser so that I can actually navigate the page.

      But, yeah, this has nothing to do with the standard and everything to do with the implementation (for the most part, anyway).

    9. Re:Welcome to my hell. by Siberwulf · · Score: 3, Interesting

      I personally don't think pain is going to bring about change. I work in the web business and develop .NET applications. The actual functionality isn't an issue across browsers, but yeah the apps I make break in FF, Opera and Safari.

      That said we can't afford to not cater to IE users. They make up over 95% of clients. I haven't yet heard a complaint or seen some feedback come through our form stating "omg I gotta use IE!!!"

    10. Re:Welcome to my hell. by Scarblac · · Score: 3, Insightful

      If you don't support IE, you're not talking about "in practice."

      --
      I believe posters are recognized by their sig. So I made one.
    11. Re:Welcome to my hell. by Schraegstrichpunkt · · Score: 1

      ... because all the world's mass-market software.

    12. Re:Welcome to my hell. by 99BottlesOfBeerInMyF · · Score: 3, Informative

      I personally don't think pain is going to bring about change.

      But you'll never know because you will bend to MS's lock-in strategy.

      The actual functionality isn't an issue across browsers, but yeah the apps I make break in FF, Opera and Safari.

      Umm, then yeah it's an issue.

      That said we can't afford to not cater to IE users. They make up over 95% of clients.

      You must have an unusual site then. Most sites and statistical studies show all versions of IE combined at about 80% of Website hits. As for affording to not cater to them, it all depends upon how you market it to customers and the type of site you run. A simple, "This Web page uses advanced Web 1.5 features from the 1998 standards. Your current browser is out of date and may be insecure. Click here to upgrade if you want to view all formatting properly." might be viewed as a feature, rather than a nuisance, especially if a coalition of major sites decided to do it all at once, so they would no longer have to pay double the development costs to reach the whole market.

      I haven't yet heard a complaint or seen some feedback come through our form stating "omg I gotta use IE!!!"

      Really do you track that? I know I used to complain when any company I did business with tried to make me use IE only, although now there are more options for everything so I normally just assume they are incompetent and probably clueless. Given that, I don't want to trust any data to them, so I just go elsewhere. Try monitoring the number of hits you get using alternative browsers, which then don't hit again with IE from the same IP address. It is not hard with some basic statistical trackers that you can grab for free. You might be surprised how much business you're losing. The other issue is, alternative browsers often represent the more affluent parts of society. Apple laptops accounted for 20% of laptop sales last month and almost all of them will be using Safari. How many of those people are the ones with lots of disposable income? As I said before, it all depends upon what type of sites you make.

      Personally, I'm very happy I no longer have to bother working around all of IE's failures. It has cut my workload down to less than half of what it was. I just wish everyone could have the same easy development I do, without having to worry about anything but clearly documented standards.

    13. Re:Welcome to my hell. by drinkypoo · · Score: 2, Informative
      In practice, it definitely does not blow. If you know how to code properly and comply with standards set by w3c, IE has minimal problems.

      The fact that IE doesn't know where various pieces of CSS (like margins and borders) are supposed to be rendered and calculated pretty much puts the lie to your comment.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    14. Re:Welcome to my hell. by antiWack · · Score: 0

      Are you aware that the new slashdot design was made using CSS? Looks fine to me...

    15. Re:Welcome to my hell. by soliptic · · Score: 4, Interesting
      Actually I can go one better than that, I think.

      I follow the standards and still have it looking decent in IE. I never use "IE hacks" (as in deliberately malformed statements or comments), and I never use browser detection (both are basically a bit retarded imho) -- but I can still get the pages to look OK in IE, served exactly the same (validated) CSS.

      There are just a few caveats:
      • Be prepared to abandon hope of absolute pixel-level control over everything. Seriously, if you want that, go into print design, that's not how the web works.
      • (Sometimes this one works as an OR to the above point...) Fix the box model by adding an extra non-semantic div. Simple as that. Voila, no more broken box model, but no invalid CSS full of Tantek hacks either. I don't know why more webdesigners are so against this. Banging on about favouring standards, yet they'd rather deliberately break (invalidate) their own CSS than add a single non-semantic wrapper div? I never quite grasped that. The broken IE box model is responsible for the vast majority of places where pixel-accurate control breaks down between IE and, well, the rest. Of course, it doesn't help fix your 3-pixel jog (for example), but it certainly cuts out the biggest offenders.
      • Be prepared to lose a few bells and whistles - for example, no :hover pseudoclass on arbitrary elements. So you can't have table cells that change color as you mouseover. This is pure candy though, so I'm prepared to "not support" IE in this regard. The overall layout/style is exactly the same, so it's not like I'm making IE degrade to "plain, unformatted hypertext" as you suggest - just they miss a few tiny "cherry on top" effects.
      • (Again this is a bit of an OR to the previous point) - use javascript. For example, get the effect of arbitrary :hover by using suckerfish javascript techniques.
      And before anybody asks, yes, I do maintain public-facing web pages for a large organisation.

      Admittedly our main website is horrible non-standards HTML4 with patchy use of hack-filled CSS, but I didnt design it, and I can't fix it because even when I enter valid markup, our lousy CMS (built firmly on the MS stack with the MS toolchain, just to feed your prejudices) will bodge it up for me. Grrr.

      But the new microsites I design are 100% standards compliant and they look 99% the same in IE or Moz/etc. My management wouldn't have it any other way.
    16. Re:Welcome to my hell. by drinkypoo · · Score: 1
      Are you aware that the new slashdot design was made using CSS? Looks fine to me...

      Your argument is that since slashdot uses CSS, and since slashdot looks good, IE handles CSS properly?

      I'm not entirely sure which logical fallacy this is, but I think it's the "Deductive Fallacy".

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    17. Re:Welcome to my hell. by Firehed · · Score: 1

      Or it's a basic site. I have a compliant page (still in-the-works) that looks just about identical in Safari and Firefox. And as far as positioning goes, it's pretty much the same in IE. The main issue I've had thus far is that some sort of custom border around the legend tag works properly in Safari and Firefox, but it decides to just border right through the legend text in IE. Not horrible or unreadable - that's to say, a minimal problem - but still not correct either. Obviously the more complex your code is, the more likely IE is to fuck it up, and it'll probably do so in a much more visible manner as well. Likewise, the tougher the standard you've coded to, the worse IE tends to render it (XHTML Transitional vs Strict, etc). As you would hope, IE doesn't have any issues with 1997 HTML when the tags were simple and the pages devoid of AJAX - it only trips up on newer stuff.

      Now to be fair, Firefox doesn't adhere entirely to standards either, or at least not the latest ones. It comes a lot closer, but I won't give it (or any other browswer) that until it'll pass the ACID2 test, which I believe only Safari and Opera do currently. Last I heard, full compliance wasn't slated until Fx 3.0, but that might be incorrect. As it is, the site I'm building looks the same in Fx as in Safari (except for some font odditiy, but I'm not entirely sure I actually set a default font face and size); though while not perfect in IE, it's certainly usable.

      --
      How are sites slashdotted when nobody reads TFAs?
    18. Re:Welcome to my hell. by Kelson · · Score: 1
      If you know how to code properly and comply with standards set by w3c, IE has minimal problems.

      Given the dismal level of CSS support in IE (57% of CSS 2.1 in IE7, compared to upwards of 90% for Firefox 1.5 and Opera 9), it's quite easy to write properly standards-compliant CSS that IE just doesn't understand.

      Writing standards-compliant code is a good start, but you also have to do one or more of the following:

      1. Limit yourself to features that are implemented in Internet Explorer.
      2. Accept that IE won't display your page quite the same as other browsers do.
      3. Try to work around the missing functionality, differing interpretations, or bugs such that IE will do what you want. Unfortunately, this often involves adding non-standard code or re-mingling presentation into your content.

      Of course, the same is true of any other browser that you choose to support, since no one has managed to cover 100% of the specs, never mind 100% bug-free. But given the much higher levels of support the top ones provide, you're less likely to encounter a showstopping gap in Firefox or Opera's presentation. (It does happen, just to a much lesser extent.)

      if you are having major problems, your code must not be up to par with w3c's standards.

      See, this is why I like to refer to "specs" rather than "standards." Calling something a specification is unambiguous: it's a document that specifies what something (in this case, a browser) should do. A standard could be, as in W3C standards, a standard way of doing something, or it could be a standard against which something is measured. Standards-compliant code is not code which is "up to standard," but code that follows the standard way of using CSS, HTML, etc. -- well-formed, no errors, not relying on proprietary features, etc. A standards-compliant browser is one which complies with the standard way of displaying CSS, HTML, etc.

      EvilML is a great example of the two meanings of standard: it's standards-compliant, as it's a valid HTML 4.01 Strict document. But I wouldn't consider it "up to standard" in terms of good coding practices, cross-browser or not.

      Semantics are also very important. Do you code with semantics in mind?

      OK, now you're just being silly. Semantics are great for maintenance, search-friendly sites, and producing clean code, but they're on the content side. CSS is the presentation side. But I suppose you get bonus points for buzzword use.

    19. Re:Welcome to my hell. by killjoe · · Score: 1

      Your customers may not be complaining but they may be walking away. Telling 5% (more like 15% for me) of your customers to fuck off is not such a good idea.

      --
      evil is as evil does
    20. Re:Welcome to my hell. by Kelson · · Score: 1
      Now to be fair, Firefox doesn't adhere entirely to standards either, or at least not the latest ones. It comes a lot closer, but I won't give it (or any other browswer) that until it'll pass the ACID2 test, which I believe only Safari and Opera do currently. Last I heard, full compliance wasn't slated until Fx 3.0, but that might be incorrect.

      Safari, Opera, Konqueror, and iCab. Plus one HTML-to-PDF converter and a mobile browser. There's a great list of Acid2 status here. And yes, Firefox is looking at passing Acid2 with 3.0.

      Something to keep in mind, though, is that Acid2 doesn't indicate a particular level of compliance. It's not a test that says, "OK, you pass CSS version X and HTML version Y," but a test that checks several previously neglected parts of the specs. If you think of the specs as being a floor, and a browser's compliance as being the part of the floor that is painted, Acid2 checks the corners. It's possible to have all the corners filled in, but still have a missing chunk in the middle.

      The best compliance comparison I've found is, unfortuantely, missing full data for Safari. It shows Opera 9 ahead of Firefox 1.5 on CSS 2.1 and DOM, and Firefox ahead of Opera on HTML and new parts of CSS 3. It's hard to say how one should weight those, and again numbers are missing for Safari, but if I were to guess, I'd say that in overall standards compliance, Firefox 1.5 is probably ahead of Safari 2, and Opera 9 is probably ahead of Firefox 1.5 -- despite the fact that Opera and Safari both pass Acid2 and Firefox does not.

    21. Re:Welcome to my hell. by Phillup · · Score: 1

      I haven't yet heard a complaint or seen some feedback come through our form stating "omg I gotta use IE!!!"

      Maybe because they do what I do... simply take my business elsewhere.

      I'm not going to waste my time or money dealing with people (or businesses) that can't get the obvious stuff right.

      --

      --Phillip

      Can you say BIRTH TAX
    22. Re:Welcome to my hell. by Anonymous Coward · · Score: 0

      I'm suprised you didn't mention TopStyle Lite (Google will find it), this baby goes hand in hand with QuirksMode. They are the only reference anyone needs!

    23. Re:Welcome to my hell. by Not+The+Real+Me · · Score: 1

      CSS is a wonderful concept and works as long as positional references are excluded. I've copied examples from several CSS books where the authors were trying to demonstrate multicolumn layouts (the kind that most sites use tables for) with fixed headers and/or footers and a left navigation pane only to discover that the only browser that this worked on was s specific version of Netscape Navigator (i.e. the one that the authors used).

    24. Re:Welcome to my hell. by Siberwulf · · Score: 1

      See, thats not the case. How do I know this? The application we have has 143 patents pending on it at the moment. We'd know if some other company was doing what we do. They don't take their business elsewhere. They either do business with us, or they don't do business. Now, that sounds incredibly fat-headed. I apologize, but thats honestly the case. We are in a position to pick and choose our clients, like they can pick to use us or not.

    25. Re:Welcome to my hell. by Anonymous Coward · · Score: 0

      What if your patents are shit, Ahnemann?

    26. Re:Welcome to my hell. by Firehed · · Score: 1

      The only thing I see as being a problem with the website you indicate is that, as far as I could tell, it doesn't show you any real-world application of the code in question. With ACID2, you can just view the source of the page and see how your browser handles it, and if you don't get a smiley face, then your browser fucked it up. That doesn't mean that it's completely compliant to standards, but it certainly indicates that it's able to handle the code tested in ACID2 - most of which won't be on many websites anyways. Myself, and probably most others, don't really give a shit about the actual compliance as long as it is able to render what the developer wants to be rendered, which is what the ACID2 test is really checking for. When I'm developing websites, my concerns is that my code is standards-compliant and that it's being rendered as I intend it to be. If I can write to standards and not require hacks (especially browser-specific hacks), then I'm happy, and my readers should be as well.

      Don't get me wrong - we all want perfect standards compliance. But what really matters is the real-world rendering. As it is, IE tends to do the best job rendering websites as they were intended, but that's because the website devs sucked at coding (though that's not entirely their fault, as they do have to code to the masses). It's something that I hate... I avoid hacks as much as possible, but without browser detection and coding the website for each browser (which completely defeats the purpose of standards), I have to occasionally compromise features or odd layout quirks to get the page to render well enough in each browser, rather than my preferred method of rendering perfectly in one browser and bitching at my users to change their browser because it doesn't adhere to rendering standards.

      --
      How are sites slashdotted when nobody reads TFAs?
    27. Re:Welcome to my hell. by Phillup · · Score: 1

      See, thats not the case.

      See, it is.

      I've already said I don't do business w/ people that don't get the obvious stuff.

      So... If for some reason you are the only people that can make a thing-a-ma-jig... I'll just not get a thing-a-ma-jig.

      See how that works?

      Even tho you may have a monopoly on thing-a-ma-jigs... you don't have a monopoly on thinking. And, I'm a firm believer in TMTOWTDI.

      And, I can always just buy more toilet paper if I absolutely have to spend my money somewhere.

      You've made the mistake that many business make. You think I need your product. I don't.

      --

      --Phillip

      Can you say BIRTH TAX
  9. Grumble... by jo42 · · Score: 1

    Too many CSS and Javascript books out there already.

    And way too many half-baked blogs out there on both subjects as well.

    Where are all the Really Good(tm) books and sites?

    Mumblefuhtz...

    1. Re:Grumble... by antiWack · · Score: 1, Informative

      Books:
      The Zen of CSS Design, Eric Meyer on CSS. Two excellent books to get you started. The concept of CSS layout design is the big hurdle, once you figure it out, it's a breeze and quite fun.

      Websites
      www.w3schools.com - Excellent for html too. Read up here about semantics. http://www.w3.org/Style/Examples/007/ - Something else from W3C. This shows you some stuff you will need once you start getting the concepts of CSS down.

      Here's some advice from me: Start with healthy HTML. If your HTML is not valid AND semantic, CSS will be very difficult to learn. If you are not familiar with xhtml semantics, I recommend you spend some time here: http://www.w3schools.com/xhtml/default.asp . If your code is not neat and organized, if you are not closing all your tags, CSS will not be nice to you.

      Semantics Using tags for their intended use only, following the rules of the code strictly, etc. You get the idea.

      I hope this points you in the right direction!

    2. Re:Grumble... by maxwell+demon · · Score: 1
      The Zen of CSS Design

      How can you mention that book without providing a link to the CSS Zen garden?
      --
      The Tao of math: The numbers you can count are not the real numbers.
    3. Re:Grumble... by drinkypoo · · Score: 1
      The concept of CSS layout design is the big hurdle, once you figure it out, it's a breeze and quite fun.

      How is the concept of CSS layout hard? It's not even complicated.

      Making CSS actually do the things that you want it to, that is hard. Especially since no browser properly handles CSS. NONE. Except maybe Opera, which at least can pass ACID2. Still, if you do anything even slightly complicated with positioning in Mozilla/Firefox/whatever, it will get it wrong. You will have to use hacks.

      This is not fun to me.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    4. Re:Grumble... by antiWack · · Score: 0

      I'm sorry, but I really need to disagree with you. The only browser I've needed to use hacks on is IE. I agree that the concept of CSS layout is not complicated. What I meant was that it's hard to grasp after using tables for many years. They are worlds apart and it can be difficult to think about layout in a different way than you're used to. I also need to disagree with your point that making CSS do what you want it to do is hard. If you really understand it and know it really well, it's incredibly easy. The only real restrictions are one's knowledge of it. People don't give CSS enough credit.

    5. Re:Grumble... by Kelson · · Score: 2, Informative
      no browser properly handles CSS. NONE. Except maybe Opera, which at least can pass ACID2.

      No, not even Opera. Keep in mind that Acid2 is not a compliance test. It tells you that the browser handles a certain set of HTML, CSS, protocols and errors properly, but it doesn't indicate full and/or proper implementation of any level of CSS.

      There's a great set of comparisons at WebDevout.net (surf around the site for more detailed tables). Opera 9 is certainly in the lead with 94% of CSS 2.1 by that site's metrics, compared to 90% for Firefox 1.5, 57% for IE7 and 51% for IE6. But none of the browsers makes it to 100%.

    6. Re:Grumble... by drinkypoo · · Score: 1
      I'm sorry, but I really need to disagree with you. The only browser I've needed to use hacks on is IE

      I think I already talked about this in a response to you, but search around and read up on how Firefox treats display: inline-block; - notably, it fucks up, and you need to use the proprietary value display: -moz-inline-box; to get the behavior you were looking for.

      The simple fact is that no browser supports the full CSS spec, even 2.1, and so there are simply things that CSS says you can do that do not work in Firefox. Period. The fact that you've never had to do a hack to get around something in Firefox only means that you have very little experience with esoteric CSS; I ran into this particular issue just today.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  10. CSS FTW by antiWack · · Score: 0

    I learned CSS by myself with several books and constant visits to w3schools.com (wonderful site. I 3 W3C!!!!). Assuming this book is what it is advertised as being, it would be a great tool for people new to CSS. I am a web designer and will not touch tables for layout purposes. It is sometimes a pain to deal with how shitty IE is, but it's worth it. Also, if you comply strictly to W3C standards and write your HTML and CSS semantically (if code was food, I'd be an organic health nut), you will have VERY few problems with different browsers displaying things differently. Let's just hope that IE 7 will like CSS more than IE 6! CSS is a wonderful thing that everybody should be using.

    1. Re:CSS FTW by Apocalypse111 · · Score: 1

      Let's just hope that IE 7 will like CSS more than IE 6!

      They could make a huge leap forward on this front by making one small change: Turning on the "standards compliant"* mode by DEFAULT!

      *I use this term in the loosest possible sense

      --
      There is no mod option "-1: Disagree" for a reason. "Overrated" is not an acceptable substitute. Post something instead.
    2. Re:CSS FTW by thrillseeker · · Score: 1

      Let's just hope that IE 7 will like CSS more than IE 6!

      They could make a huge leap forward on this front by making one small change:


      rebranding Firefox? ...

    3. Re:CSS FTW by Anonymous Coward · · Score: 0

      Even with Firefox and the gang, the browser won't go into standards compliance mode unless you specify an HTML version at the start of the document. That's how the browser know when to be all buggy and when to not.

    4. Re:CSS FTW by Schraegstrichpunkt · · Score: 1

      The funny thing is that Microsoft could easily do that, but---predictably---they won't. They're too concerned about their own pride to deliver good products to their customers.

    5. Re:CSS FTW by Bitsy+Boffin · · Score: 1
      Let's just hope that IE 7 will like CSS more than IE 6!


      The sad thing is, that even if it does, the take up of IE7 is going to be so slow that IMHO, I expect well over 50% of IE users to still be using IE 6 or lower for years. Even with all the security problems, people continue to use very old versions of IE - because they simply don't care, thier "Internet" works, so why should they change it.

      In short, IE 7 getting better support for CSS isn't going to make life any easier for web developers, it's not going to mean we can remove annoyances to work around IE 6 and lower, in fact it's probably just going to create more work, because it's yet another version of IE that we need to test websites in, lord knows there will be new bugs.

      --
      NZ Electronics Enthusiasts: Check out my Trade Me Listings
    6. Re:CSS FTW by Hyperspite · · Score: 1

      Actually, if you look at microsoft's site, they are going to release IE7 as a high priority windows update. Lord knows I'm not defending their atrocious practices in their web browser forays, but a more standards compliant IE will probably reach a decently wide audiance (I believe that high priority installs stuff on your computer without your permission which is its own bag of ethical dillemas).

    7. Re:CSS FTW by Bitsy+Boffin · · Score: 1

      Lots of people are still using Windows XP, and lots of users with XP don't update. I'd go so far as to say that probably the majority of Windows users fall into one of those two camps, and thus won't get the update. But only time will tell.

      --
      NZ Electronics Enthusiasts: Check out my Trade Me Listings
    8. Re:CSS FTW by Bitsy+Boffin · · Score: 1

      Grr, that should heva been "using Windows < XP"

      --
      NZ Electronics Enthusiasts: Check out my Trade Me Listings
  11. missing rule!? by scenestar · · Score: 1

    What about the missing standard compliancy?

    --
    perpetually dwelling in the -1 pits
  12. Amazon has it cheaper by heffel · · Score: 5, Informative

    As usual, Amazon has it cheaper than BN ($23.09 vs $27.99)

    1. Re:Amazon has it cheaper by Anonymous Coward · · Score: 0

      Obviously the mods didn't see your referrer link; glad to see you and the missus won't need to eat out of the garbage can tonight.

      Big Macs all around!

    2. Re:Amazon has it cheaper by Ripley · · Score: 1
      As usual, Amazon has it cheaper than BN ($23.09 vs $27.99)


      And Bookpool is even cheaper at $21.95.
    3. Re:Amazon has it cheaper by wfberg · · Score: 1

      Check out the price comparison on ISBN.NU. They even let you compare shipping rates. Unfortunately, bookpool (mentioned by a sibling poster) doesn't appear to be listed (for this book at least).

      --
      SCO employee? Check out the bounty
    4. Re:Amazon has it cheaper by SurfCook1 · · Score: 1

      NerdBooks @ $20.95

  13. Too late. by kennygraham · · Score: 1

    Dvorak already decided we don't need CSS.

    1. Re:Too late. by antiWack · · Score: 0

      Dvorak is an idiot. He said it doesn't work because he couldn't figure out how to use it. He tried to redesign his blog with it and failed, prompting him to write about how it doesn't work. Just because he can't figure it out doesn't mean it's no good. It's actually quite easy and works far better than tables for layout.

    2. Re:Too late. by drinkypoo · · Score: 2, Insightful
      It's actually quite easy and works far better than tables for layout.

      Except that it doesn't do things that tables do. For instance, I can't say that div#1 and div#2, which are next to each other, take up the entire width of the page even though div#1 has a fixed width. You know, like the most common basic page layout with a sidebar and a content area. With tables, I can just create a table with three trs, the header and footer are colspan=2, the width of the center-sidebar table is 200px or whatever, and the width of the content area is "*". Now, I realize that you can emulate it with negative margins, but that's not the same thing.

      CSS is a great tool, it lets us do tons of things we could never have done before, but it's not a panacea and it is not without problems. In fact, it is chock full of problems, unless you and all your users are on Opera or something. Second choice, if you and all your users are on the same browser. Nonetheless you cannot simply write valid CSS and have it rendered properly in IE or a Gecko-based browser, once the CSS reaches a certain level of complexity that frankly I don't think is very high.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    3. Re:Too late. by eggsovereasy · · Score: 1

      div#1 { width: 200px; float: left; } div#2 { margin-left: 200px; }

    4. Re:Too late. by drinkypoo · · Score: 1

      The second div's size will now change if it feels like it, because it does not have a specified width. Those of us who need actual control over our page layout are now snickering at you. This is why the "holy grail" (and the normal two-column liquid layout) over at alistapart use negative margins.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    5. Re:Too late. by mla_anderson · · Score: 1

      The second div's size will now change if it feels like it, because it does not have a specified width.

      If you were to read the GP you would find that was exactly what was asked for...those of us who can actually read are now snickering at you.

      --
      Sig is on vacation
    6. Re:Too late. by antiWack · · Score: 0

      Lol, drinkypoo, you and I are really going at it. I would have posted this earlier but my comment cap had reached its limit.

      Here's a screenshot showing you how to do it. No negative margins, completely valid. In fact, the code is quite sleek and sexy. Very simple. And in CSS3, I think there's going to be even more options for doing things like this so the CSS won't have to emulate the behavior of a table cell. I forgot to put in a width attribute for the first div, but doing so won't change anything except for its width. I understand that CSS is not perfect, but you need to remember that it's quite new and is just starting to catch on for use with layout. We will see huge improvements with CSS3 and also much better support in browsers as it gains popularity.

      The green div on the right will fill up the remaining space between the red div and the edge of the page, no matter how wide the red div is. Notice in the code how there are no funky margins or padding. The green div starts where the red div ends - no overlapping. If the picture is too small and you don't believe me because you can't tell what's going on in there, say so and I'll take another screenshot.

      Same screenshots, hosted in two different places in case of bandwidth problems:

      http://i4.tinypic.com/2cqjnd0.png
      http://img479.imageshack.us/img479/6103/csspwnagew c4.png

    7. Re:Too late. by kennygraham · · Score: 1

      ...could you -really- not tell i was being sarcastic? i'm one of the most obsessive compulsive standardistas you'll meet (besides a guy named felix, he's worse than me).

    8. Re:Too late. by Anonymous Coward · · Score: 0

      No not "exactly".

      If the content of div#2 is narrower than the gap between div#1 and the right page edge then it won't reach all the way across the page: "Whatever width it feels like".

      Hence all the negative margin hacks.

      Those of us who actually do CSS-based web design are snickering at *you*.
      And he was the GP.

    9. Re:Too late. by antiWack · · Score: 1

      I suspected it only because what you said was so absurd. Obviously, though, from the other replies, you can see that there are people that buy into that nonsense. I'm glad to see that I'm not alone in the obsessive compulsive standardist group. Ever since I started coding like this, I've found myself eating more and more organic food...

  14. What's Missing? by hypoxide · · Score: 1

    What would be nice is something like Java's API or Sun's Javascript Reference for CSS. But I really don't see a need for a new book on the matter... googling "CSS" suffices. I kind of feel like this is simply an advertisement for the book. Dan

    --
    Anything can, could, and will happen.
    1. Re:What's Missing? by hclyff · · Score: 1
      What would be nice is something like Java's API or Sun's Javascript Reference for CSS.
      For who would that be? Browser developers? If there were strong enough intend to implement CSS correctly, they would've done it years ago.

      For page authors? For them, bottom line is how browsers display their code. To write CSS to the standard is to miss out 90% of viewers. What they really need is book of all the dirty hacks they need to pull out. Not that I think there isn't enough books of this kind already.
    2. Re:What's Missing? by hypoxide · · Score: 1
      To write CSS to the standard is to miss out 90% of viewers.
      Hm. I'm not sure about that. Yet I am sure that writing ugly CSS usually has no affect on how it is displayed. Most of my CSS is pretty ugly. :)
      --
      Anything can, could, and will happen.
  15. ObMontyPython by Gospodin · · Score: 1
    Page 9 claims that the book "is divided into four parts," and then lists the five parts.

    "And the number of its parts shall be five!"

    "Four, sir."

    "Four!"

    --
    ...following the principles of Heisenburger's Uncertain Cat...
  16. Not another CSS book! by LibertineR · · Score: 1, Flamebait

    Anyone who wants to learn CSS should just get all of the Eric Meyer titles. If you cant learn CSS from his books, then you are just too stupid to learn CSS.

  17. Now if only-Fun with standards...bodies. by Anonymous Coward · · Score: 0

    "*all* browsers implemented it per the W3C standard."

    Will that be before or after we get through making fun of the W3C?

  18. man css by ChrisGilliard · · Score: 1

    # man css
    No manual entry for css

    Hmmm, guess they were right.

    --
    No Sigs!
  19. I don't understand by nebaz · · Score: 1

    Why are there so many books about DVD encryption algorithms?

    --
    Rhymes that keep their secrets will unfold behind the clouds.There upon the rainbow is the answer to a neverending story
  20. Comma Chameleon by GreyDuck · · Score: 2, Informative
    "The humor for which the Missing Manual books are known, begins early, in introduction, though in this case probably not intentionally..." [...] "This pushes the text, which slightly more than 4.5 inches wide, further in, toward the book's binding, and thus more difficult to read."

    Speaking of "more difficult to read," while I'm as big a fan of using commas as the next talentless hack, maybe this review could've done without roughly half of the little buggers that are sprinkled throughout.

    --
    I'm only wearing black until they come out with something darker.
  21. Too many choices? by Infonaut · · Score: 1

    Too many CSS and Javascript books out there already.

    And as we all know, having choices SUCKS!

    Seriously, how is this different from any other computer-related topic? There are zillions of Java books, only some of which are useful to you. The book that is useful to me may not be useful to you. There are Missing Manuals, Head Start, Head Rush, Visual Quickstart, Nutshell, Definitive Guide, Cookbook, Hacks, for Dummies, for Smarties, Programmer to Programmer, and many other different styles of computer books. Surely you can find some ReallyGood books somewhere in there.

    Would you really only prefer that there be only one or two flavors?

    --
    Read the EFF's Fair Use FAQ
  22. Save $4.90 by buying the book here! by Anonymous Coward · · Score: 0

    Save $4.90 by buying the book here: CSS: The Missing Manual. And if you use the "secret" A9.com discount, you can save an extra 1.57%!

  23. Who needs a book? by niceone · · Score: 1

    The specs are all on-line.

    OK, I'm joking, but it would be nice, wouldn't it?

    One of the first principles taught to those learning Web design, is to avoid using white text on a black background. Such Web pages usually try to appear cool and edgy, but instead often comes off as immature in the eyes of an Internet veteran, and sinister to the Internet newbie. It doesn't work on Web sites

    Immature and sinister are not always bad things! (I feel I have to stand up for my white on black site, even though I'll just get flamed again).

    1. Re:Who needs a book? by pjt33 · · Score: 1

      I just got a new LCD monitor, and for the first time in years I can read white on black. With my ancient CRT I had to select the text and then transfer focus elsewhere to get enough contrast, so it was rarely worth bothering.

  24. Hellz yeah by Anonymous Coward · · Score: 0

    10x dood, U rox bro!!1

  25. Googling or books by falconwolf · · Score: 1

    There is something easier about pulling a book off the shelf, finding the section on print stylesheets for example, and having everything about it right there on the page to reference while you are hammering away at the keyboard...

    That's why I have my bookshelf where I can reach out and grab a book without getting out of my chair or leaving the desk. Occasionally I'll google for an answer but I prefer a book with a good table of contents and index, it's usually when I don't have the book or the table or index is poor when I'll google.

    Falcon
  26. Now I know why IE has such bad CSS support. by falconwolf · · Score: 1

    The reason the Windows IE had such bad CSS support was because they didn't work with the Mac IE team. IE 5 for the Mac had better css support than any Windows IE, except maybe IE 7?

    Falcon
    1. Re:Now I know why IE has such bad CSS support. by morgan_greywolf · · Score: 2, Interesting
      The reason the Windows IE had such bad CSS support was because they didn't work with the Mac IE team. IE 5 for the Mac had better css support than any Windows IE, except maybe IE 7?


      Well, IE 7 reportedly only supports 50% of the CSS standard, so if Mac IE 5's CSS standard is worse than than IE 7's, then it would still be pretty awful.

    2. Re:Now I know why IE has such bad CSS support. by falconwolf · · Score: 2, Informative

      Well, IE 7 reportedly only supports 50% of the CSS standard, so if Mac IE 5's CSS standard is worse than than IE 7's, then it would still be pretty awful.

      IE 5 for the Mac supported xhtml, ECMAScript, nearly all of CSS1, much of CSS2, and most of the DOM according to Jeffrey Zeldman. So, I guess IE 7 doesn't support standards as much as IE 5 for Macs did.

      Falcon
  27. CSS Zen Garden by cruachan · · Score: 2, Informative

    Manuals are fine, but most can be replaced by the various excellent websites around - w3schools is mentioned below and I'd agree with that.

    However for some inspiration about what CSS can do for you a trip to the CSS Zen Garden at http://www.csszengarden.com/ is worth a thousand pages of dry css scripts. The recently published book 'the Zen of CSS design' is also excellent - http://www.amazon.com/Zen-CSS-Design-Enlightenment -Voices/dp/0321303474/ref=sr_11_1/102-7311422-8694 536?ie=UTF8 and adds a lot to what's available on the site.

    1. Re:CSS Zen Garden by falconwolf · · Score: 2, Interesting

      Manuals are fine, but most can be replaced by the various excellent websites around - w3schools is mentioned below and I'd agree with that.

      Books can't be replace for all people. Though I have Zen Garden bookmarked if I read much I have to have hardcopy to read from otherwise I get eye strained and will get a headache. Looking at little bits and pieces on a screen is alright but longer pages play havoc with my eyes. Also if I'm trying to learn something I much prefer to have a book to go through especially when it's something like this. If I'm doing exercises and have a book I don't need to switch between apps as much as if I google or read off of some website. When I do read a webpage that's too long I have to print it out and read the hardcopy, and I know other people who are the same. And yes, I have Zen Gardens bookmarked. Simply, some do better with hardcopy, such as a book. Now, I'm hoping an lcd display is better.

      Falcon
    2. Re:CSS Zen Garden by Elf-friend · · Score: 1

      One could, of course, print out a hard copy from a webpage. :-/

      That said, I have to agree. Webpages are a good supplement to books, but not a replacement.

    3. Re:CSS Zen Garden by falconwolf · · Score: 1

      One could, of course, print out a hard copy from a webpage. :-/

      That said, I have to agree. Webpages are a good supplement to books, but not a replacement.

      Yea, I mentioned printing out a page. And if it's only a few pages then you're saving trees, a better way to save trees is to use hemp to make paper with, this way instead of buying a book. However unless you're a natural organizer if you're printing out a lot you may find it hard to find a printout later, I think books are much better as a reference. Especially if there's a good table of contents and/or index. On the other hand if it doesn't have either of these it may be quicker to find what you're looking for online.

      Falcon
    4. Re:CSS Zen Garden by Elf-friend · · Score: 1

      I must have missed that part. The other advantage of books for me is that I tend to skim less with them.

      I wish they would convert over to using more rag, linen, and hempen paper for books. Wood paper has poor archival properties, in addition to putting an awful strain on the forests. I'm not opposed to harvesting of trees (my grandfather was a sawyer and a logger), but I hate the wanton destruction of trees just to produce largely disposable paper products.

      You're right about reference. I'd much rather have a book lying around when I'm trying to troubleshoot something (possibly without network access), than have to search for a printout on my desk. Books are also more portable: I can take it with me and not be tethered to my box. For HTML use, I have used the W3C doc's as my primary reference, but only because I'm fanatical about valid HTML and never found a book that was as thorough and exacting as I wanted it to be. The same goes for CSS.

  28. My internet... by Misch · · Score: 1

    The book is one in a series of many so-called Missing Manuals, whose tagline is "The books that should have been in the box,"

    My internet didn't come in a box... it came in a tube!

    --

    --You will rephrase your request for me to go to hell. Goto statements are not acceptable programming constructs
  29. googling is fine? by falconwolf · · Score: 1

    But I really don't see a need for a new book on the matter... googling "CSS" suffices.

    Googling for you may be fine but many of us, including me, want hardcopy. For one staring at a long screen of text hurts my eyes and others have the same problem. Two, I learn and retain better by doing. I've been looking for a good book on CSS, one with exercises. I'll then be able to read the book and do the exercises as I read. With a book I won't have to think about eye strain or switching between windows. Simply, I much prefer hardcopy. Oh, and yes I have several websites on CSS bookmarked, though I rarely use them.

    Falcon
  30. Chapter 13:Displaying tabular data without "table" by Andrew+Tanenbaum · · Score: 5, Funny

    I love chapter 13 of this book, which explains how to nest span tags to display tabular data. Finally, web 2.0 is here.

  31. Hell can be bearable... by WebCowboy · · Score: 3, Insightful

    ...provided you remember to pack your SPF100 sunblock and plenty of water.

    Must be nice to not have to maintain public-facing pages for a large company

    Yes, it is quite nice not have to maintain such a site, since most "public-facing pages for a large company" are notoriously and unnecessarily complicated and standards-broken. Furthermore, it is false to say that these sites are broken becasue they must cater to IE. It is in fact the other way around--IE is broken because of the incompetence or (false) laziness, impatience and hubris of the designers and maintainers of these big public sites. MS is to blame for applying sinister "embrace and extend" strategies to its product, however by far the primary responsibility for the current messy state of affairs lies squarely with the codemonkeys who vomit forth the tag soup that all too often continues to pass for web pages today.

    Let me explain: when then-leading Netscape introduced nonstandard extensions to HTML, or incorrectly or poorly implemented the standard, rather than report it as a bug web authors actually EMBRACED these quirks rather than working around them or otherwise ignoring them. For example, early web developers heavily abused non-semantic and sometimes annoying proprietary tags like CENTER and BLINK, and went as far as to do atrocious things like nest their content in multiple BODY tags with different BGCOLOR attributes to do useless crap like fading and flashing the screen. The result of this was to not only let Netscape neglect bugs, put to put pressure on Netscape to RETAIN the bugs so as to remain "compatible" with such perverse tag soup!

    The phenomenon proved to be viral--in the interests of matching leader Netscape's "feature" set, Microsoft went ahead and emulated all that malarky on purpose in IE! Furthermore, MS realised that nonstandard extensions were rather easily embraced by stupid lazy tag soup codemonkeys. This was a great opportunity to embrace and extend the WWW with such atrocities as ActiveX OBJECTs and heavy promotion of CSS-like styles long before the CSS standard was established. The latter action was particularly incideous because it allows MS to say that they "support standards" when in fact they sabotage them. Rather than warning web authors to use caution with stylesheets until the CSS style was standardised, they went ahead and made sure it was getting well established so that when changes were made to their proposal for CSS was modified by the W3C. By doing that they ensured that their own inconsistent application of CSS would be the de-facto standard and they could let slide any fixes to *actually* follow standards.

    So please, make your best effort to break this evil cycle and do NOT design for IE. This doesn't mean that you should let your site break IE or make it look crappy--what it means is do NOT use IE during development without regard to standards then worry about degrading gracefully in other browsers. Instead use FF or another more compliant browser during development, and regularly validating your code using the W3C validation tools. THEN, when you test against IE (this is the real world, so you can't ignore it as the grandparent post implies) you make sure it degrades GRACEFULLY in IE, and do it WITHOUT relying on sneaky CSS bugs and breaking standards.

    Yes, you CAN write totally valid XHTML and CSS that looks attractive and retains enough functionality in IE to satisfy your audience. Here are some approaches I have taken in the past:

    * Avoid the use of CSS features that are standards but not widely implemented in IE or other mainline browsers, at least for important presentational aspects (anything more than eye candy).

    * Do NOT strive to make the page appear or function fully and exactly the same in IE as other browsers--just make sure it doesn't look "broken" in IE. MS has deliberately "dumbed down" their pages for non-IS browsers in the past (even when other browsers were perfectly capable of handling the page as designed for IE). Given

    1. Re:Hell can be bearable... by soliptic · · Score: 1

      I applaud this post.

  32. Not available online yet.. by erlando · · Score: 1

    I guess users of the O'Reilly Safari online-service have to wait for this to become available..

    --
    Remember, there are no stupid questions. But there are a lot of inquisitive idiots.
  33. CSS question by Espectr0 · · Score: 1

    Not related to the book, but it's a CSS question after all.

    I have 3 divs. A main div which encloses the other 2. One is floated to the left, one to the right.
    If i don't set a height on the container div, on firefox the divs will grow out of the bottom border of the div, but on IE6 the container grows automatically. OK, i just set overflow:auto to the container div and both browsers work fine.

    But, if i put content to the left div, and use the right div for images and such, the right div wont grow to match the left div's size.

    Is there a way to do this? Besides faking it by using the same background color and such...

    Note: example code is over at Google Groups

    1. Re:CSS question by rathehun · · Score: 1
      1. Floated elements are out of the normal "page-flow". Use a clearfix, or as you stated, an overflow: auto.
      2. Why would the height of your right column depend on the height of the left one? See if faux-columns help you better.
      3. Ah, I read the rest of your comment, and you don't want to fake it. See the css-D wiki for "Equal Height columns". [1]

      [1] http://css-discuss.incutio.com/?page=AnyColumnLong est

    2. Re:CSS question by JayClements · · Score: 1

      Use a table.

  34. title by User+956 · · Score: 1

    Ever since Cascading Style Sheets (CSS) first appeared on the Web scene in the late 1990s, a plethora of books have been written and published that purport to explain how CSS works, and how to make it work for you.

    So then this isn't the "missing" manual, it's a "new and improved" manual.

    --
    The theory of relativity doesn't work right in Arkansas.
  35. CSS Cookbook is also a great resource... by Regnard · · Score: 1

    ...for CSS and web standards. It's really for the practical developer. You can check out my review of the book here.


    Hope that helps.

    --
    Need a color? Try 100 random colors
  36. Oh, I forgot to ask... by Optic7 · · Score: 1

    Do you have a link or more info on this non-semantic div fix for IE's box model? Thanks again!

    1. Re:Oh, I forgot to ask... by soliptic · · Score: 2, Informative

      See "box within a box" at the CSS-wiki discuss page on the box model - as that page notes it's not without it's own drawbacks ("The only issue is that this is done within the HTML markup, rather than the CSS. Many people consider this to be bad practice, because years down the road, when a hack is finally cleaned from your code, a CSS hack is quickly removed, while markup hacks are scattered hither and yon. Plus it complicates the HTML, structurally speaking.") but I personally consider that a lesser of two evils.

    2. Re:Oh, I forgot to ask... by soliptic · · Score: 1

      And in digging up that link I discovered the tantek hack is apparently valid CSS, which rather undermines my original point! Still, see AvoidingHacks if you like the train of thought anyway.

    3. Re:Oh, I forgot to ask... by Optic7 · · Score: 1

      Thanks!

      Weird, I had posted another reply to your original message thanking you for your post, but I guess I must not have hit the submit button. Anyway, it was just thanking you for an encouraging post for a CSS beginner after seeing so many posts complaining about CSS.

  37. Re:Chapter 13:Displaying tabular data without "tab by Jupix · · Score: 1

    What's wrong with using TABLE for tabular data? Do you also use some kind of SPAN.header instead of H1?

  38. No, It's all backwards by cyclomedia · · Score: 1

    The w3c should never have handed out "w3c compliant" logos for authors to stick on their web pages.

    they should have handed them out to web browser (versions) to stick on their download pages.

    --
    If you don't risk failure you don't risk success.
  39. Browser Selector JS by ericdfields · · Score: 1

    IMHO, not enough web developers know about the these lovely 832 bytes of JavaScript that make my life 20x easier:

    http://rafael.adm.br/css_browser_selector/

    Need to adjust a width for IE only but don't want to completely redo all the CSS you've done so far? .ie #wrap becomes an IE-only selector. It's flawless thus far...

    I don't recommend becoming too dependent on this kind of trickery. I first do valid mark-up, then apply CSS, debug across browsers, _then_ if something just absolutely won't work well in browser X and it's not worth the time to retrace my steps, I throw in this javascript, make my selector, and move on. Nice and future-proof too: when IE7 comes out and fixes issue Y, just knock out the selector from the CSS and get on with your life.

    1. Re:Browser Selector JS by Falesh · · Score: 1

      Using Javascript like this is risky though, plenty of people disable Javascript or use browsers that don't have it.

    2. Re:Browser Selector JS by ericdfields · · Score: 1

      I wouldn't say plenty. Enough do that i wouldn't make it mission critical... sometimes enough is enough when it comes to IE tho.



      Anyone have actual stats or estimates on how many people browse the internets w/out JS, just out of curiosity?

    3. Re:Browser Selector JS by Falesh · · Score: 1

      About 10% have it turned off acording to w3schools. It's kind of like that anoying 20% that still use 800/600. ;)

  40. First we Invented WYSIWYG, now we use CSS by oldCoder · · Score: 1

    A better book on CSS differs little from a great manual on how to hand-crank a Model T Ford. WYSIWYG was invented in the 1970's. Layout using Wysiwyg tools has its problems, but CSS seems to solve none of them. (Maybe one, but I don't know which one).

    The tragedy is that I really need a better book on CSS.

    Hand-coded CSS seems to be hanging on mainly because people still need to hand-code HTML, even though that should be WYSIWYG too. And hand-coded HTML seems to be hanging on mainly because of mixin-languages like PHP which enable database integration. Word processors usually don't need database integration. Note that Microsoft went to great lengths to allow people to embed live spreadsheets into Word docs, a feature that has been widely ignored. Still, it's past time for web design to leave explicit hand-coding behind. Or else what's all this Computer Science for?

    --

    I18N == Intergalacticization
  41. Other books by Falesh · · Score: 1
    I don't agree that there are is a lack for a book like this. Head First HTML with CSS & XHTML tought me XHTML, with good practice, and CSS very painlessly, in fact it was fun. For more advanced stuff you can use the tools you have learned with imagination, buy The ZEN of CSS Design: Visual Enlightenment for the Web, and exelant book even if you don't buy it for the CSS aspect, or check sites like:
  42. concerning the book design by Wry+Cooter · · Score: 1

    Leading post sez:

    On the negative side of the ledger, someone -- or, more likely, some committee -- somewhere along the decision chain, stipulated that almost every page of the book should be formatted so that the outside 1.5 inches, which is the easiest for a reader to see, should be consumed by a mostly empty and useless gutter, the bulk of which is filled with a light gray bar.

    I sez:

    I can't judge the design not having seen it with my own eyes, and cannot speak to the light grey bar at all, but the wide outer margin is a common design when one might be expected to make notes in the margin.

    I know, I sort of trained myself never to write in books and I'm sure that is a practice many reading this follow. But the other night, I had a question about something I was reading, and I had no other paper around, so I made a note about the text in context over to the side.

    Often, the bare outer design is often used by the authors themselves for illustrations and side bars. And a bar of color along the side is often used like a thumb index to delineate chapters. There are purposes for design elements, including negative space, towards a books outer margins.

  43. There is a technical solution to broken browsers by oldCoder · · Score: 1

    Aside from fixing the browsers, that is. We could create a WYSIWIG front end for generating xhtml and css. Put the intelligence in there to generate the hellacious hacks in the code. Have it generate different stylesheets to be used by different browsers. When new bugs come out just update the app. There are plenty of WYSIWIG apps out there for making web pages that could be upgraded this way. Nvu is the first to come to mind.

    If you're using a server-side framework like ASP, PHP, ROR or mod_perl, the front end could easily generate the browser detection code to choose which stylesheet to be used on a per browser basis. There are only a small number of these frameworks in use, less than 10 cover over 95% of the web pages, I'm sure.

    We don't hand-generate machine-code anymore, why should we hand-generate CSS, or HTML?

    --

    I18N == Intergalacticization
  44. Book publishing layout by Pope · · Score: 1
    ...every page of the book should be formatted so that the outside 1.5 inches, which is the easiest for a reader to see, should be consumed by a mostly empty and useless gutter, the bulk of which is filled with a light gray bar.


    "I have a truly marvelous stylesheet that solves all of IE's CSS problems, alas which this margin is too narrow to contain.
    --
    It doesn't mean much now, it's built for the future.
  45. I wish they would convert over to using more rag, by falconwolf · · Score: 1

    linen, and hempen paper for books.

    Same here, and not just for books but for writing and printing. I'm not sure about rag but there are linen and hemp papers available for writing and some specialty shops have linen paper for printers though I don't know if they have any hemp paper that can be used in printers.

    Falcon