Forgot your password?
typodupeerror
Book Reviews Books Media

CSS: The Definitive Guide 160

Posted by samzenpus
from the all-you-need-to-know dept.
Michael J. Ross writes "Every Web developer knows that Cascading Style Sheets (CSS) makes it possible to separate the contents of Web pages from the styling of the elements on those pages. This in turn confers tremendous advantages, such as allowing site-wide changes of appearance to be made just once, in a single stylesheet file, rather than in all of the pages containing the affected elements. The syntax and proper usage of CSS is not as simple as implied by many HTML/CSS books, most of which fail to provide enough detail as to how CSS is applied to page elements. Web developers relying upon these books soon find themselves hitting those limits, and becoming frustrated when trying to debug Web pages. CSS: The Definitive Guide, authored by CSS expert Eric A. Meyer, aims to fill that gap." Read on for the rest of Michael's review.
CSS: The Definitive Guide
author Eric A. Meyer
pages 536
publisher O'Reilly Media
rating 9
reviewer Michael J. Ross
ISBN 0596527330
summary A comprehensive CSS reference guide.


Published by O'Reilly Media in November 2006, this title is now in its third edition. The first edition appeared in May 2000, and the second in January 2004 — with each one establishing the book as an immediate favorite among hard-core Web programmers. Each revision brought it up to date with the evolution of CSS as a standard, its support among the most popular Web browsers, and its usage within the Web development community. This latest edition covers CSS2 and CSS2.1, but does not include the CSS3 modules, including those that have reached Candidate Recommendation status, because their implementation is largely incomplete among most of the browsers.

Web veteran Eric Meyer presents the book's material in a methodical manner, starting with an overview of CSS's purpose and advantages, and quickly moving into the details of the technology: selectors, structure, inheritance, values, units, fonts, text properties, visual formatting, padding, borders, margins, colors, backgrounds, floating, positioning, tables, lists, and generated content (e.g., bullets of unordered lists). The last two chapters address user interface styles (system fonts and colors, cursors, and outlines) and non-screen media (such as paged and aural content). The book's 536 pages are organized into a total of 14 chapters and three appendices. The first appendix is a complete CSS property reference, spanning more than 40 pages, with visual, page, and aural properties grouped separately. For each property, Meyer explains its purpose, its valid values, the initial value, what elements it applies to, whether it is inherited, its computed value, and additional notes (if any). The second appendix is a reference for the selectors, pseudo classes, and pseudo elements. The third and final appendix is much shorter than the first two, but no less interesting, as it discusses a sample HTML 4 stylesheet, which is presented in the CSS2.1 specification as the recommended style sheet for developers to use.

As with all of their other titles, O'Reilly Media offers a Web page devoted to this book, where visitors will find links to online versions of the book cover, table of contents, index, registration form, reader reviews, and errata (of which there are none, as of this writing). In addition, the page has offers to receive a volume discount, and to read the book online as part of O'Reilly's Safari service.

Anyone who is considering purchasing this book might initially be concerned by the dearth of feedback on the Web sites of the publisher and the major online booksellers — in the form of few reader comments, and no reported errata. The prospective reader may wrongly conclude that this indicates a lack of interest in the book, and thus it must be unpopular — probably for good reason. But just the opposite is true, as demonstrated by the book's sales rank on Amazon.com alone: #4631, as of this writing. Unlike far too many of the other HTML/CSS books available, this one does not engender scathing reviews by customers angry with the books' shoddy writing and sloppy mistakes. Rather, Meyer's contribution is the type of solid reference book that the discerning Web developer will quietly place on their desk or bookshelf, within easy and frequent reach — possibly displacing a dog-eared first or second edition of the same title. Furthermore, the absence of errata should suggest that most if not all kinks have been worked out of the book, and not that the book is failing to receive careful readings.

CSS: The Definitive Guide benefits not just from its multiple revisions, but also from Eric Meyer's clear and complete writing style. Unlike his more advanced books, this one is far more approachable, making it possible for the reader to easily jump into the midst of any topic and quickly pick up the thread — as is essential for any technical reference work. The theoretical discussions and the sample code demonstrate his abundant experience in using CSS in the real world, discovering or verifying its idiosyncrasies, and pushing it to its limits. Most of the critical visual and positioning topics are well illustrated with diagrams and sample output, few of which are weakened by the lack of color in the grayscale figures. Last and certainly not least, readers should be pleased that the book's material has been updated for Internet Explorer 7, which promises to fix many inexcusable problems in earlier versions of the browser.

Rarely does one come across a programming book that has no significant flaws, and will likely become a favorite resource for developers everywhere. CSS: The Definitive Guide is a comprehensive, well-written, and welcome addition to the library of any Web developer who wishes to understand and utilize CSS better.

Michael J. Ross is a Web consultant, freelance writer, and the editor of PristinePlanet.com's free newsletter. He can be reached at www.ross.ws, hosted by SiteGround.


You can purchase CSS: The Definitive Guide from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
This discussion has been archived. No new comments can be posted.

CSS: The Definitive Guide

Comments Filter:
  • My experience (Score:4, Informative)

    by 2.7182 (819680) on Monday January 29, 2007 @04:08PM (#17804054)
    This is a great book, but my binding cracked after 2 weeks. Worth buying anyway though.
    • by Rob T Firefly (844560) on Monday January 29, 2007 @04:17PM (#17804186) Homepage Journal

      This is a great book, but my binding cracked after 2 weeks.
      This is why I prefer hardbound CSS books, where you can make changes to the book's binding independently of its content.
      • by Azarael (896715)
        For the softcover books that you do end up getting a lot of use out of, some bookstores offer rebinding. Might be a little pricey, but may be better than having a reference that's in 3 or 4 pieces.
      • by mfh (56)
        If you get the book over O'Reilly's Safari service [oreilly.com], what you're saying is very possible! (with the help of some custom CSS and Firefox)
    • by CRCulver (715279)

      This is a great book, but my binding cracked after 2 weeks. Worth buying anyway though.

      Your binding cracked. How was it bound? I don't buy too many books from O'Reilly recently, but the last one I bought, Python in a Nutshell [amazon.com] uses a rather novel binding that allows the book to lay flat and is quite durable. I assumed all O'Reilly books would use this newer system. And even my oldest O'Reilly books from the mid-90s are still fine, no weaking of the glue in the traditional binding. Did you write to the

      • by Raenex (947668)

        I don't buy too many books from O'Reilly recently, but the last one I bought, Python in a Nutshell [amazon.com] uses a rather novel binding that allows the book to lay flat and is quite durable. I assumed all O'Reilly books would use this newer system.

        Hmm, interesting. I haven't bought an O'Reilly book for awhile, but this is good to know. I did some googling, and the binding style is called RepKover. Apparently they stopped using this binding as a cost saving measure in 2001 after the dotcom bust, a

    • Re: (Score:1, Offtopic)

      by M00TP01NT (596278)

      This is a great book, but my binding cracked after 2 weeks. Worth buying anyway though.
      If it had been a Windows book, someone else would have cracked it for you (and it wouldn't have taken two weeks).
    • by Raenex (947668)

      This is a great book, but my binding cracked after 2 weeks.

      It's probably cracked by design [oreilly.com], so that it lays flat. (Credit: I had no idea O'Reilly books did this until reading reading a sibling post about an O'Reilly Python book; I'm just being more explicit and providing a link).

  • A wonderful book (Score:5, Interesting)

    by SavedLinuXgeeK (769306) on Monday January 29, 2007 @04:11PM (#17804106) Homepage
    I purchased the previous version, and it was truly a clear and concise introduction and mastery of CSS. Mastery in the sense of understanding how CSS works, not in mastery of CSS Cookbook type "fixes". It was much better to learn the fundamentals of CSS before trying to understand why and how the hacks work the way they do. I still keep and use the book as a reference at my desk at work.
  • Why don't people understand the difference between a designer and a developer?
    • by drinkypoo (153816) <martin.espinoza@gmail.com> on Monday January 29, 2007 @04:24PM (#17804252) Homepage Journal

      Why don't people understand the difference between a designer and a developer?

      The web makes that distinction hazier and hazier. Many of us end up doing both in spite of the fact that we're not really suited to it, unfortunately. Of course, the software lets us get decent results easier and easier all the time, so that helps.

      But even just talking about CSS, is doing CSS really just design? With all the stupid CSS tricks you have to play, it seems to me more like cross-platform programming than anything else.

      I realize that CSS is not a programming language. More's the pity; if it were a little more like a language then a lot of things that are very hard to do in CSS and require dynamic styles (or at least assignation of styles) to do properly would be very easy. For example, I should be able to say that an element is n% minus the width of another element... But since I can't I have to figure out how many units (typ. pixels) are in n%, then figure out how many units wide the other element is, and then set the width of the element I was trying to size accordingly. And if the element I'm trying to fit in next to is sized in ems instead of px, I have to recalculate this data and resize elements every time the font size is changed.

      • by CRCulver (715279)
        Yes, I wish CSS had support for if statements. I maintain a website in several languages. Now, if a span with xml:lang="es" appears in an English, French, whatever paragraph, it should be italicized, but if a span inheriting xml:lang="es" appears in a Spanish paragraph, it should be styled the same way as the surrounding text. Unfortunately, there's no simple way to do that in CSS. I have to write dozens of individual rules for each language like body:lang(en) span:lang(es) { font-style: italic; } instead o
        • Have you tried italicizing all spans with a lang attribute, then de-italicizing english-in-english, spanish-in-spanish, french-in-french, etc?

          span:lang {font-style:italic}

          body:lang(en) span:lang(en),
          body:lang(es) span:lang(es),
          body:lang(fr) span:lang(fr),
          body:lang(dk) span:lang(dk) {font-style:normal}


          paint with broad strokes, then carve out the exceptions.

          (and check the syntax; I've never styled arbitrary xml documents, just ordinary HTML.)
        • by styrotech (136124)

          Yes, I wish CSS had support for if statements.


          Hell, I'd be happy with just named constants for colors and numbers (and maybe even for whole or partial selector expressions?).

          And now that we're dreaming here I'd be extra happy with math expressions for numbers especially if they could reference properties from other elements. That is starting to get a little like duplicating the DOM scripting stuff though.
      • Re: (Score:3, Funny)

        by Doctor Memory (6336)

        Why don't people understand the difference between a designer and a developer?
        The web makes that distinction hazier and hazier.
        Heh, not in my case. One look at my pages and people know right away I'm a developer...
      • Seriously, I saw this in a css file:

        td.LockTopLeft {
        /*IE5+ only*/
        left: expression(this.parentElement.parentElement.parent Element.parentElement.scrollLeft);
        top: expression(this.parentElement.parentElement.parent Element.parentElement.scrollTop-1);
        }

        My initial response was what the hell does that do? But it actually locks this table entry within a parent div tag.

        It's basically like the behavior in Excel where you freeze the top columns or something like that. So it's not

        • by brunascle (994197)
          i had to do something like that once, where the left column and top row were frozen. i used javascript instead of CSS, though, and it worked in both IE and firefox.

          for just the top row there is an easier way to do it, though, but IE doesnt support it: separate the header of the table using a thead and set it to position: static, i believe.
      • But even just talking about CSS, is doing CSS really just design?

        Especially with all the crappy designers out there who use Dreamweaver and really haven't a clue about CSS and could care less.

        We're all stuck with .style1 {font: size 8pt; } .style2 {font: size 9pt; }
        .
        .
        . .style39029 { font: size 10pt; }
    • Re: (Score:1, Interesting)

      by Anonymous Coward
      Believe me, working in a graphic design firm as a web developer, there is a large difference between a designer and a developer. Designers here work almost exclusively in Photoshop and only have to have the most rudimentary understanding of what can and can't be done using XHTML/CSS. I'd say that somebody who is used to looking at XHTML/CSS, coding from scratch, understands inheritance, and how these can be used to accurately reproduce major corporate websites across most any browsing environment qualifies
      • by Intron (870560)
        Easy: A designer is the one that hands a developer a 30 MB background image, 16 1MB panels and 100 33K widgets and asks why it takes so long for the page to load.
    • Re: (Score:3, Insightful)

      by Bertie (87778)
      My definition of a designer is that their role stops short of writing code, whether that's HTML, CSS, whatever. They don't concern themselves with how something's implemented, because then you find yourself thinking like an engineer, and working in terms of what's most expedient, rather than like an end user, and thinking in terms of what's best.

      So if you're using this book, you're a developer, not a designer.
    • by Dynedain (141758)
      As a web designer and developer who works alongside several designers, I can assure you that understanding CSS is not a designer's role, but a developer's role. Once you are involved in coding (whether it's a Turing-complete language or simply a markup language) you are a developer. Now, I point my designer coworkers to various tools that will auto generate CSS, but purely for making it easier for me to interpret their intent (instead of relying on things like Photoshop values for text paragraph formatting
  • My question (Score:4, Interesting)

    by hypermanng (155858) on Monday January 29, 2007 @04:16PM (#17804164) Homepage
    It has been updated to account for IE7's ideosyncracies, but does it also cover the other browsers well? Every time I've started really using CSS, I 've gotten frustrated by the way each browser decided to support a different subset of CSS so I had to sit there and try everything before figuring out what non-IE-on-Windows browsers would make of the page. Probably the major browsers support much more of the CSS spec, but I was burned so bad last time I haven't wanted to touch it with a ten foot pole in several years.
    • Re:My question (Score:5, Informative)

      by itlurksbeneath (952654) on Monday January 29, 2007 @04:57PM (#17804686) Journal

      Css browser support [webdevout.net]. Pretty good guide. If you design for FF or Opera and don't use any hairy CSS, it should look pretty good in IE7 (assuming you're using a decent DOCTYPE) and can be tamed in IE6 with a few tweaks to fix things like the broken box model and such.

      Interesting thing I noticed when scrolling through the guide linked above - the level of css support between IE6 and IE7 isn't all that different (maybe a handful of new items supported). So, IE7 was mainly a bugfix release. Five years and they finally fixed the CSS engine. Way to go MS.

      If you can't see the sarcasm dripping from above, check your glasses.

    • Re: (Score:3, Informative)

      by Fozzyuw (950608)

      it has been updated to account for IE7's ideosyncracies, but does it also cover the other browsers well?

      Good question, each browser has different levels of support. If you check out some browser usage [w3schools.com] you can see a decent estimate of what browsers are most used. Then you can check out browser CSS compatibility [quirksmode.org].

      Besides IE6 (I'm not supporting IE5 Mac), I do not see issues across (modern or heavily used) browsers very often, unless I'm trying to do some sophisticated, multi-column, nested, floating DIV

  • by popo (107611) on Monday January 29, 2007 @04:16PM (#17804170) Homepage

    The book is, as the OP states, excellent.

    The problem lies with its index. Actually using the book is very difficult because the Index is so non-inclusive of the subjects within the book.

    Worth getting, but be prepared to flip through it a whole lot more than you would if the Index was well written.

    My 2 cents.

    • by Selanit (192811)
      I bought both the Definitive Guide and also the Pocket Reference. They're both by Meyer - the Pocket Reference packs all the vital info into 128 pages. And it really IS a pocket reference, in that it literally fits in my back pocket.

      The index in the pocket reference is good. It's got everything I need. But if it didn't, I could give them feedback: there's a line at the bottom saying "We'd like to hear your suggestions for improving our indexes. Send email to index@oreilly.com."

      I think I'll send them an
  • by len_p (782308)
    Want to simplify CSS development? Just make IE disappear. Checking that the CSS works in IE is taking lot of time and is the most frustrating not to mention that you have nothing like Web Developer or FireBug. What to loose your neurons, make your CSS work in IE, hack after hack. bGR@!#!@#! len [www.len.ro]
    • Re: (Score:3, Interesting)

      Code for FireFox, Opera, or Safari. Then use conditional comments to load a stylesheet for IE to overwrite the styles it finds problematic. While conditional comments seems like a hack to me, it's an officially supported by IE hack that is officially unsupported in every other browser. If other browsers ever support it, then the "hack" still works. If IE ever stops supporting it, it's just a comment. So far, it's the only method worth using and it isn't nearly as irritating as CSS hacks (that may or ma
    • [IE has] nothing like Web Developer

      Actually, there is the Internet Explorer Developer Toolbar [microsoft.com] which is quite useful for debugging IE's quirks.

  • by moore.dustin (942289) on Monday January 29, 2007 @04:23PM (#17804248) Homepage
    ... that all the free online resources offer? Is it merely organized data? Is it the examples? I find all of that readily available for many web technologies and even more so for PHP and CSS. Numerous sites exist that cover everything in several ways too. Is this book simply a consolidation of information that is otherwise free via a google search?
    • Re: (Score:3, Insightful)

      In the same way that a Computer Science text book's information is freely strewn about the internet, so who needs them? The book teaches fundamentals, and the building blocks of CSS, where most examples and tutorials are aimed at getting you to be able to create content as quickly as possible. I can copy programming examples from a website, and even read their reasoning behind it, but I would not assume, for the most part, that they have the experience or authority to properly convey the information to me
    • ... that all the free online resources offer? Is it merely organized data? Is it the examples? I find all of that readily available for many web technologies and even more so for PHP and CSS. Numerous sites exist that cover everything in several ways too. Is this book simply a consolidation of information that is otherwise free via a google search?

      Some of us prefer hardcopy to read and work through or for reference. I am one, if I read too much on a monitor I get sore eyes and headaches. This doesn't h

    • by mysticgoat (582871) on Monday January 29, 2007 @05:54PM (#17805404) Homepage Journal

      What does this book offer... ... that all the free online resources [do not] offer?

      Just one thing: Eric Meyer's insights into the theory and practice of CSS. A web developer reading one of Meyer's books is sort of like an aspiring novelist reading Steven King's book On Writing.

  • IE is the roadblock (Score:4, Interesting)

    by fiannaFailMan (702447) on Monday January 29, 2007 @04:34PM (#17804388) Journal
    CSS is great in theory and should make sites easier to maintain, but in my experience all this advantage is lost when hacking to get IE to support it. I seem to have to support IE OR the rest of the world's web browsers, but I can't seem to get certain pages to support both. I've had to revert back to HTML tables for my page layouts, and I'll be sticking with that until a more CSS-friendly IE becomes more widespread. I just spend a bit of time familiarising myself with CSS and using it for text styling and some positioning within my tables. I'm sure in a year or two it'll become feasible to use CSS exclusively, and I'm quite looking forward to it.
    • Re: (Score:2, Informative)

      by juiceCake (772608)
      I find that making sure you use a strict XHTML doctype definition, IE behaves remarkably well. I can do all my layout and text styles in CSS and use the !important hack occasionally in style sheets rather than use conditional statements. Of course I can't use attribute selectors and so forth, but one day, one day...

      There is, of course, some compromise, but it sure beats developing with tables, which is just a mess.
      • Re: (Score:2, Informative)

        by 8-bitDesigner (980672)

        Hey, don't knock conditional comments. While I'm all for semantics, the ability to target IE7 and IE6 and serve them their own stylesheet is immensely useful when you're handling things like IE6's penchant for doubling the margin on floated elements.

        And yes, while it isn't a perfect solution, I'm just one find/replace away from tossing the IE6 stylesheet the minute its market share drops low enough.

        • by juiceCake (772608)
          I wouldn't knock conditionals. Many developers use some variations to achieve the results they wish.
      • Re: (Score:2, Informative)

        by Anonymous Coward

        I find that making sure you use a strict XHTML doctype definition, IE behaves remarkably well.

        XHTML is not appropriate [hixie.ch] on Internet Explorer. I use XHTML 1.0 Strict on my site, but I also know that the vast majority of my regular visitors are using Firefox. I'd certainly never suggest using XHTML to make things easier on IE. You can get the same advantages, and avoid the complications, if you just use semantic-meaningful HTML 4.01 and CSS, making sure each validate.

        • by juiceCake (772608)
          Interesting read. I've experienced none of those problems but will keep them in mind. As for validation, of course, I always make sure they validate.
        • Re: (Score:3, Informative)

          by brunascle (994197)
          i find XHTML is fine as long as you develop using the application/xhtml+xml content type, then switch to text/html for production. and obviously you'll have to develop using a broswer that supports XHTML (not ie).

          that, or have your site change the content-type in a script, depending on what the browser sent in the Accept header.

          if you're not using application/xhtml+xml in development, you might as well stop using XHTML all together, because chances are there are errors all over the place.
    • The best way to deal with this is to design for non-borked browsers, then adjust for IE, with several style-sheets for different versions of IE to account for the bugs. That way Opera, Safari, Firefox and any others will just work, and IE will work as well as it can, till they release a version without all the CSS bugs.

      The IE conditional includes are a nice idea - I wish other browsers did that as well, because it would make working around the bugs a lot easier. The majority of your code goes in a normal cs
    • by koehn (575405) * on Monday January 29, 2007 @06:46PM (#17806092)
      To everybody posting the obligatory "IE Sucks at CSS", while I agree with the sentiment, my own IE experiences got much less painful (and this goes for Firefox too) when I learned how the browsers tell between "quirks mode" (where rendering with CSS is a true crapshoot) and "standards compliance mode" (where rendering with CSS is... somewhat less of a crapshoot).

      If your DOCTYPE tag at the start of your HTML starts with something like:
      [!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
                              "http://www.w3.org/TR/html4/strict.dtd"] (in angle brackets, thanks Slashdot!)

      Then IE/FF will render it in a fairly similar way. If you don't include the URI of the DOCTYPE ("http://www.w3.org/TR/html4/strict.dtd", above) then you're stuck in quirks mode hell.

      That said, IE still sucks at CSS.
      • by Raenex (947668)

        in angle brackets, thanks Slashdot!

        You work with CSS and you can't figure out how to escape <angle brackets>? It's &lt; and &gt; if you use "HTML Formatted". Well, at least you previewed :)

    • by fyoder (857358)
      For biz sites and such it's a pain, but just for fun sites can do something like this [binary-environments.com] (try it in IE, otherwise a warning: full frontal male nudity). In a non-IE browser it's all css layout. It was 'for fun' and getting the css to work in IE would not have been fun.
  • by shawn(at)fsu (447153) on Monday January 29, 2007 @04:37PM (#17804420) Homepage
    Every Web developer knows that Cascading Style Sheets (CSS) makes it possible to separate the contents of Web pages from the styling of the elements on those pages.
    Or in the case of MySpace, CSS allows a user to make a website with no content look better by overdosing on the style.
  • Might be worthwile (Score:4, Insightful)

    by Da Fokka (94074) on Monday January 29, 2007 @05:00PM (#17804728) Homepage
    I haven't read the book, but given the fact that creating a simple three column layout that works on every browser and looks good too is far from trivial, one can conclude two things:
    • Something's wrong with CSS

    • This book may be worth buying
    • Re: (Score:3, Interesting)

      by edmicman (830206)
      Heh, I agree. I, too, will probably have to check this out, but I know I've heard all over how using tables for layout is bad and using CSS instead is Teh Good. But every time I try and do a layout that would take two minutes with a table, and do it it CSS, it takes many times longer to get things to actually *work* and look right. Float that to the left! Oops, once I add another column, they're both squished to the top! Etc etc....
    • by pwizard2 (920421)
      I'm sure that admitting this is going to really hurt my karma, but in situations where I need a 3 column layout, I just use a table to create the columns because it always works.

      I've never once had a client that actually cared about what I did with the code or if I used 100% kosher W3C-approved code. The only thing that all of my clients have wanted to hear is, "This works to solve the problem at hand and it will always work reliably."

      I don't like to write kludgy code if I can help it because I consider
      • by Da Fokka (94074)
        I totally agree. Doesn't the fact that's it's so darn hard to make a simple three column layout mean that CSS is broken? I do exactly the same thing like you: using tables and hoping blind people will understand (I use ALT tags on every image to compensate ;).
    • Re: (Score:2, Informative)

      by RoseAlbert (972627)
      I have always had success with the example code explained on A List Aparat's Article "In Search of the Holy Grail" by Matthew Levine http://alistapart.com/articles/holygrail [alistapart.com]
    • by emurphy42 (631808)
      Under what circumstances does the following not work well?

      #COLUMN1 {
      position : absolute;
      top : 10px;
      left : 10px;
      width : 20%;
      }

      #COLUMN2 {
      position : absolute;
      top : 10px;
      left : 25%;
      right : 25%;
      }

      #COLUMN3 {
      position : absolute;
      top
      • Re: (Score:2, Insightful)

        by larry bagina (561269)

        How about the circumstance that you want something after the 3 columns? The absolute positioning screws that up. How about the circumstance that the window is resized? At smaller widths, the columns overlap each other. How about the circumstance that you want all 3 columns to have the same height? Every 3 column css/div layout I've seen fails at some of the above or require multiple layers of non-intuive divs and css hackery that make a table layout seem elegant.

        Tables are overused, but they're less p

        • by emurphy42 (631808)

          How about the circumstance that you want something after the 3 columns? The absolute positioning screws that up.

          Some more experimentation leads to the following:

          max-height : 400px; overflow : auto;

          How about the circumstance that the window is resized? At smaller widths, the columns overlap each other.

          The widths are defined as percentages. If your window is small enough to break that, then it's small enough that nothing will look good.

          How about the circumstance that you want all 3 columns to

          • by emurphy42 (631808)

            max-height : 400px; overflow : auto;

            ...but you probably meant "make the three columns as tall as they need to be, then position something e.g. 10 pixels below the tallest one". Anyone got a good solution to that one?

    • by Dirtside (91468)

      but given the fact that creating a simple three column layout that works on every browser and looks good too is far from trivial, one can conclude two things:

      * Something's wrong with CSS

      Nothing's wrong with CSS on its own terms... but I still don't understand why people think that Cascading Style Sheets should be used for layout.

      Granted, HTML wasn't designed with layout in mind, either, but it's a hell of a lot simpler to make a table with HTML than it is to futz around with CS

      • but I still don't understand why people think that Cascading Style Sheets should be used for layout.

        It may have something to do with a standard called CSS-P where the P stands for Positional. Weirdest thing, you tell people they can position things and they go all nuts about wanting to, you know, position things.
  • Why?!? (Score:1, Redundant)

    by SilentOneNCW (943611)
    Why would anyone write a book about Counter Strike: Source? God, I hate that game!!
  • Tables Are Good.
  • If you need a 536 page book to "Master" such a trivial part of web development as page and text formatting then CSS is a failure. Are there any wysiwyg "Html editors" that produce portable CSS? If so, then the book is obsolete.

    As any Word(tm) user knows, page layout and text formatting should be done Visually. I don't code in assembler any more. And I shouldn't have to write text-formatting codes. Troff was obsolete years ago! CSS is just Troff on steroids.

    CSS is such a pain in the butt we should

    • Re: (Score:2, Insightful)

      by pwizard2 (920421)
      I'm not sure if it's true anymore since I hand-code but back in the day the main problem with WYSIWYG editors is is that they tended to generate really bad code that was difficult to go back and edit manually. Some of the worst ones generated code that was deprecated in addition to this.

      Even Adobe Imageready (as of CS2) uses a obsolete and backwards apprach to creating rollovers from image slices. This can be done with CSS, but even the latest version of Imageready uses a badly depecated table & java
    • CSS is such a pain in the butt we should all go back to using tables. I really think it's easier.

      Go back? I never stopped. I use CSS for text/form styles, and that's about it. Good old
      fashioned HTML tables are where it's at. I'm perfectly happy sticking with what works.

      CSS is pretty much the one thing developer-wise that really gives me that 'dinosaur' feeling.
      Just don't see the need for those massive CSS files that try and lay out an entire site for
      you. I'm not sure whether I'm just getting old and curmudgeony, or there really isn't a good
      reason for laying out stuff in CSS.

      Hell, might be both. :)

    • by itsdapead (734413) on Monday January 29, 2007 @07:04PM (#17806414)

      As any Word(tm) user knows, page layout and text formatting should be done Visually.

      What any Word(tm) user with any experience knows, is page layout and text formatting should be done in anything other than fricking Word, except you have to send in a fricking Word file and exporting Word from any other applications almost works. At least OpenOffice is annoying and buggy for free.

      Bearing in mind the web was invented by a bunch of physicists its a wonder that it uses HTML and not LaTeX Now, that would be fun: a default page design reflecting the acme of the typographers art (LaTeX output is really beautiful) and a vertical learning curve if you wanted to change that style.

    • CSS is such a pain in the butt we should all go back to using tables. I really think it's easier.

      As I was learning CSS, I used to think this, too. In some ways it's true: using tables to get your layout done is easy because the form is apparent from the table itself. CSS obscures that to some extent with floats and margins.

      But some things are possible in CSS that just cannot be done in HTML tables. For example, I can say something like "Unvisited ypertext links contained in a "navigation" div should b

      • by TheGreek (2403)

        But some things are possible in CSS that just cannot be done in HTML tables. For example, I can say something like "Unvisited ypertext links contained in a "navigation" div should be underlined and white text on black background. Everywhere else, unvisited hypertext links should be underlined blue text on a white background." That is, I can use selectors to target appearance (and form) based on class definitions. This is powerful stuff.

        You're confusing "style" with "layout," sir. Here's an example that us

    • Firefox and Web Dev toolbar = visual page layout and text formatting.

      IMO, people who bitch about CSS haven't used it long enought to get it. It's not that terrible, and once you get in the swing of it, you'll realize it's vastly more powerful than the clunky old table.
    • by 0x0000 (140863)

      If you need a 536 page book to "Master" such a trivial part of web development as page and text formatting then CSS is a failure. Are there any wysiwyg "Html editors" that produce portable CSS? If so, then the book is obsolete.

      Layout is not trivial. Clearly you have no concept of a) what you're talking about here, nor b) the power inherent in CSS.

      There is no such thing as "WYSIWYG HTML". The "What You See..." part is CSS. HTML is not now, nor was it ever, intended to have anything to do with what

  • am I the only one that thought this was another countrstrike guide having read the title. LOL
  • I hate to shill my own stuff, but I recently created a site for ranking programming books based on category(language, api, etc) that I think most developers will find very useful. Basically programmers rank their top 5 books for each category. It's very simple, and hopefully useful. It's in a pain finding quality programming books. The only real resource is browsing/searching through amazon, which can be a real pain.

    http://www.programmingbooks.org/ [programmingbooks.org]

    For example, here are the top ranked CSS books: http://www.p [programmingbooks.org]

The only difference between a car salesman and a computer salesman is that the car salesman knows he's lying.

Working...