Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
The Internet Books Media Programming Software Book Reviews IT Technology

Core CSS (2nd ed.) 314

Simon P. Chappell writes "It used to be that a website could be standards compliant or it could be attractive and impressive to prospective customers, but it could almost never be both. Now with the rise of CSS compliant browsers, a new generation of web designers are finding that the old wisdom is ready to be retired. CSS technology allows a website to have both excellent, semantically indicated content and attractive layouts. Core CSS (2ed.) positions itself as a complete guide to all of this standards based goodness." Read on for the rest of Chappell's review.
Core CSS (2nd ed.)
author Keith Schengli-Roberts
pages 818 (10 page index)
publisher Prentice Hall
rating 6
reviewer Simon P. Chappell
ISBN 0130092789
summary A flawed diamond

What is CSS?

Cascading Style Sheets (the CSS part of the book's title) are a way to separate the content and presentation of a web page. The CSS file holds the presentation instructions, leaving the HTML to hold only the content. While CSS is a formal World Wide Web Consortium (W3C) standard, the adoption has been somewhat slow, with browsers only reaching full compliance with the base level of the standard within the past year or so.

So why is CSS useful?

CSS shines when it is used to define the style of a whole site. Want all of your headings to be the right shade of your corporate blue? No problem. Want every page to have the corporate logo on it's background? No problem. Whoops, got bought by GlobalMegaUberCorporation Inc. and need to change the colours and background logos in a hurry? No problem, just change the CSS definitions and your new corporate identity will shine out for all your customers to see.

What do I know about CSS?

I am a relative newcomer to CSS, having been laying out websites using tables since 1995. I had decided that it was time to learn how to bring my personal website up to speed with the latest standards, when I was offered the chance to review this book, so I took Prentice Hall PTR up on the opportunity. This review then, is from the perspective of one who knows HTML well enough to develop a couple of sites using only vi and who has decided to learn CSS.

Overview

The back cover blurb claims that Core CSS 2nd Edition is a comprehensive guide that shows both beginning and expert web developers all they need to know to achieve great results with the latest style sheet properties. It also claims to be ... the most complete and up-to-date CSS reference available. This review will explore those two claims.

What's To Like

The first thing to like about this book is that it does cover almost everything that it's possible to write about Cascading Style Sheets. I have included the table of contents below so that you can get a feel for the breadth that this book aims at covering. The writing style is clear and explanatory with an underlying conversational tone, quite suited to this manner of book. It is also obvious from the text that Mr. Schengli-Roberts does understand his subject matter very well indeed.

The biggest thing to like about this book, for me, is appendix B, an alphabetical listing of the defined CSS properties and values. This list covers 92 pages and is a key part of the whole book. Importantly, it doesn't feel like filler and gives an impression that care has been taken in devising this very useful resource. Each entry in the appendix gives an example of correct usage of each property, which as a CSS neophyte I appreciated greatly.

What's To Consider

This book carries a 2004 copyright, yet it feels old when you view the list of browser compatibilities for each property. While it does give compatibility information for Microsoft Internet Explorer 6, it only covers Mozilla 1.0, it mentions Konqueror without any version details and completely omits Apple's Safari browser. This spotty coverage seems at odds with the rest of the book and really felt like a glaring omission to me.

Summary

This is a good book -- and if you're in the process of learning to use Cascading Style Sheets, you should certainly consider it for your collection. It is flawed by a poor selection of browsers for it's compatibility lists; while this may not be an issue for you, I found it quite irksome. This explains my review score and my description of this book as a flawed diamond.


Far more information than most people could ever want to know about Simon P. Chappell is available at his personal website. You can purchase Core CSS (2nd ed.) from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, carefully read the book review guidelines, then visit the submission page.

This discussion has been archived. No new comments can be posted.

Core CSS (2nd ed.)

Comments Filter:
  • CSS sucks (Score:5, Funny)

    by Anonymous Coward on Monday May 03, 2004 @03:07PM (#9043423)
    Run DeCSS and be free of it forever!
  • CSS Zen Garden (Score:5, Informative)

    by cmstremi ( 206046 ) on Monday May 03, 2004 @03:08PM (#9043440) Homepage
    csszengarden.com [csszengarden.com] is a great example of CSS can be rich, powerful and compliant.
    • Re:CSS Zen Garden (Score:5, Informative)

      by chrisgeleven ( 514645 ) on Monday May 03, 2004 @03:16PM (#9043522) Homepage
      For those who say CSS doesn't work right in IE or Mozilla, the CSS Zen Garden will prove them wrong. Almost every design on this site works with IE5+ and Mozilla. To see such beautiful, fast, standards-compliant, and workable designs not break for 95% of web browsers on the web today is quite amazing.
      • Re:CSS Zen Garden (Score:5, Interesting)

        by TwinkieStix ( 571736 ) on Monday May 03, 2004 @03:20PM (#9043579) Homepage
        Almost every design on this site works with IE5+ and Mozilla. To see such beautiful, fast, standards-compliant, and workable designs not break for 95% of web browsers on the web today is quite amazing.

        But not totally usable. I'm using Mozilla 1.6, and as soon as I try to increase the font size on most of the themes in zengarden, I get overlapping text. It's useless when running at high resolution.
        • Re:CSS Zen Garden (Score:5, Insightful)

          by Neon Spiral Injector ( 21234 ) * on Monday May 03, 2004 @03:36PM (#9043767)
          I do with people would stop pointing to this site as a paramount of CSS design. While their work may be "rich, powerful and compliant", it is not, as you have noticed, "flexable".

          What is so hard about using "em" as the base measurement for the layout? Also, the main content text size should always be 1em, i.e. not specified, allowing the browser's default size to be used.

          I run at 2048x1536 on a 19" monitor. GNOME with a SVG based theme just looks really crisp. But then I go to some website that thinks that 10px is a good font size. And has their entire layout based around a fixed 600px center column. So if I do Ctrl-+ to bump up the font size to something I can see, I end up with like 5 words on each line.

          Okay, I'm done...
          • Re:CSS Zen Garden (Score:2, Informative)

            by Anonymous Coward
            From the CSS2 specification:
            "Pixel units are relative to the resolution of the viewing device, i.e., most often a computer display. If the pixel density of the output device is very different from that of a typical computer display, the user agent should rescale pixel values."
            • This is actually pretty amazing when I think about it. I've been on the 'em' bandwagon for a while, but this knocks me off it hard.

              For instance, images are usually given px sizes in CSS... but they don't need to if a user agent could handle on-the-fly resizing... which, aha, Mozilla and IE already do!

              So you could easily say your image is 100px wide, and your text is 10px tall... and when the user agent of a 2000x1200 user comes along, it could auto-scale each to, say, 200px and 20px... why not?
          • >What is so hard about using "em" as the base measurement for the layout? Also, the main content text size should always be 1em, i.e. not specified, allowing the browser's default size to be used.

            Sheesh yes. This site also cranks my other pet peeve: contrast. Light grey text on white is hard to read, especially at smaller sizes. Here are some guidelines from Penn State [psu.edu]:

            • Use a browser safe color palette (216 colors).
            • Use contrast. Dark text on pale background is better on a computer than light text
      • Re:CSS Zen Garden (Score:3, Interesting)

        by mattkime ( 8466 )
        ...unless you have a mostly mac audience, in which case Mac IE 5 barfs on many of the designs.

        Yes, yes, Apple now makes Safari, but its going to take a long time for the more clueless users to switch. (I know, I've tried...)
      • The reason why most things on the Garden work in IE is because the design authors have no problems using IE-specific css hacks, most of which break css validation, and contribute to the life-support of IE.

        Sadly, more than a few designers never actually learned css, they just started using Dreamweaver. Hence, they have no idea what css is capable of, and don't know how to fix css by hand.

  • by RetroGeek ( 206522 ) on Monday May 03, 2004 @03:12PM (#9043478) Homepage
    both excellent, semantically indicated content and attractive layouts.

    Well I don't like the layout, but that is subjective.

    But click on Full CSS Browser Compatibility Chart [corecss.com] and you get Warning: mysql_connect(): Access denied for user: 'corecss_corecss1@localhost' (Using password: YES) in /home/corecss/public_html/properties/full-chart.ph p on line 38

    Oops...
  • heh... (Score:5, Funny)

    by ambienceman ( 721763 ) <crazywolfeyes@yah o o . c om> on Monday May 03, 2004 @03:12PM (#9043487) Homepage

    For a minute there I thought Dave Chappelle wrote a book on CSS.

    I'm codin', bitch!
  • by Bronz ( 429622 ) on Monday May 03, 2004 @03:13PM (#9043488)

    Now all they need is a good database primer.

    "Warning: mysql_connect(): Access denied for user: 'corecss_corecss1@localhost' (Using password: YES) in /home/corecss/public_html/properties/full-chart.ph p on line 38"
  • by huphtur ( 259961 ) on Monday May 03, 2004 @03:13PM (#9043490)
    Comprehensive, informal, and somewhat long-winded roadmap [mezzoblue.com] for anyone who has heard about web standards, thinks they might want web standards, but doesn't know where to start.
  • by Just Some Guy ( 3352 ) <kirk+slashdot@strauser.com> on Monday May 03, 2004 @03:13PM (#9043494) Homepage Journal
    I was hired at my new job in part to completely re-write the website that our customers use to access information in our database. Since I was starting over with a blank slate, I got to pick every detail of the platform, so we jumped in with FreeBSD, Zope, Python, and XHTML/CSS.

    I truly don't understand why anyone is still using <font> tags. Instead of making the site design more difficult, strictly seperating appearance from content has made maintenance far easier. I'm still slightly amazed that I can completely re-do the appearance of my employer's website by editing a single file, and when my boss decided that he hated the way links looked, he was thrilled that it took me about 30 seconds to globally change them.

    Seriously, this is the way web design was meant to be.

    • by ejaw5 ( 570071 ) on Monday May 03, 2004 @03:32PM (#9043727)
      For anyone who maintains websites with a text editor (myself included) the value of CSS is greatly appreciated. As you've mentioned, all you have to do is edit one css file and you can change the appearence of a whole website, or at least all the pages that use that particular CSS file. The problem is with those using WYSIWYG editors like FrontPage and Dreamweaver who have no idea of CSS, or in some cases basic HTML for that matter. I've seen how Dreamweaver (4) handles page "themes". Make one change like change link colors, and then the software traverses through each and every file and makes the changes in them. Not very efficient.
      • No, that's not very efficient at all, especially since it discards all semantic information. In other words, if you've chosen the same particular attribute for two unrelated entities, and you later want to change that property on one of the entities to something else, then you're going to have a heck of a time distinguishing between them.

        For example, suppose that you use red text to highlight error conditions in one part of the site, and red text to indicate mandatory form items on another part of the si

      • As you've mentioned, all you have to do is edit one css file and you can change the appearence of a whole website.

        Or not edit a file, like here [soloport.com].

        (Appologies to Mac users and appologies for slow loading page - you can see why in the source. Also, 'Save' has been diabled for you :)
      • Dreamweaver (4)

        Um. . .yeah. Just like Netscape 2 didn't support layer positioning either. . .may want to upgrade there buddy. Dreamweaver MX 2004 has hordes of CSS support. It's now hard to not create a page in DW not without it creating a compliant style sheet and a XHTML strict document.

      • Dreamweaver (Score:5, Informative)

        by mnemonic_ ( 164550 ) <jamec@umich. e d u> on Monday May 03, 2004 @04:20PM (#9044270) Homepage Journal
        Dreamweaver MX 2004 (which follows DW MX, which followed DW 4...) has excellent CSS support. It knows when to use div and when to to use span and has an easy interface for creating comprehensive CSS styles. It interprets CSS shorthand flawlessly. It has a convenient CSS reference. It also knows the difference between styles, pseudo-styles, and re-defining tags using CSS.

        The WYSIWYG can display CSS elements far better than GoLive or FrontPage, though I mostly use the Code view.

        Maybe you should try a more recent version of Dreamweaver. Also, you might be interested in the Dreamweaver Task Force [webstandards.org] which helped bring DW to greater standards compliance.
      • I've seen how Dreamweaver (4) handles page "themes".

        You probably haven't seen the latest version, then. Go download the free demo, and see the improvements.

        Dreamweaver has acceptable HTML now--as does, allegedly, MS Frontpage.
    • Well, actually, web design was meant to be was at browser level, allowing the user to alter the display to his own taste.

      Companies, such as the one you prsumable work for, and the desktop publishing people charged with putting forth official company documents weren't happy about that arrangement, so times have changed.

      That said, about two years ago I got my ass chewed out here for applying the old rules. Since that time I have come to appreciate CSS myself.

      I'm still not crazy about the web being "brochur
      • With CSS, the browser gets much more control over the final presentation by allowing the user to load locally-defined stylesheets that override remote settings.

        Our website is actually very, very simple by most design standards. I built it from the ground up to be extremely lightweight and "clean" so that our customers, who spend their days filling in forms and submitting them, aren't distracted by anything that wasn't explicitly designed to make their work more efficient.

        The huge win for us wasn't a ge

      • It's not hard in any of the major browsers to tell them to ignore the stylesheet of a site, or use your own - That's the beauty of CSS, even in a text-based, or non-compliant browser, you can degrade much nicer and still present content.

        Something you can't do when you use stuff like javascript etc. to present your "brochur-a-fied" web site. CSS gives the designer more power and more flexability, and a good standards compliant browser allows that without taking the power to "view it your way" from the user
    • In my work I've been helping set up stand alone sites for different project teams in the organization. Here, the ability of CSS and ASP/PHP to seperate content from appearance has been extremely helpful.

      Now, we can set up a site for a team and give non-technical staff the ability to maintain a professional looking site without having to build a CMS backend. All they do is modify some text files in a content folder on our development server. If everything looks good, they tell the webmaster to "update

  • by Muda69 ( 718162 ) on Monday May 03, 2004 @03:14PM (#9043506)
    What I have a problem with is the fact that the whole book, every example for every property, was completely embedded into the HTML itself. Their was a slight reference to externally described CSS but no examples to follow. The idea of the sheets is to set a number of parameters for most or all of your pages to follow. Embedding them into the HTML every time defeats the purpose. Also their were some mentions to multiple options techniques that never had any kind of example or visual of any kind to follow so you can see how this could be useful. In that sense the beginner user would be completely lost on something that can be helpful down the road.
  • And Then There's IE (Score:5, Interesting)

    by Cruxus ( 657818 ) on Monday May 03, 2004 @03:16PM (#9043526) Journal

    Cascading Style Sheets are all well and good--actually, I use them on my website, and I love them--but the painful part is ensuring compliance among browsers. I'm a self-taught, amateur geek, and I code my XHTML and CSS by hand. I don't read tutorials: I read the W3C recommendations. Anyway, I like to think I can interpret rather exacting writing such as Web specifications without misunderstanding, but I always seem to botch something so that things are out of alignment and so forth in this or that browser--usually Internet Explorer.

    In summary, CSS is good, but it'd be better if all browsers actually followed the standards and interpreted any ambiguity the same way. That's all I want, so I can remain sane!

    • Unfortunately, simply knowing and understanding the standards just doesn't go far enough. You also need to know the most serious quirks of all of the major browsers. The W3C is not going to help you with that.

      Reading and understanding the W3C recs is good, even commendable, but it's only part of the equation. Tutorial sites can tell you things that the W3C cannot. Things like how Internet Explorer messes up the box model (your alignment promlem is most likely here), how IE 6 changed it, why it's still wron
    • Same problems here... but Explorer Exposed! [positioniseverything.net] helps me quite a bit. Good listing of IE CSS bugs and work arounds.
  • Avoiding Piracy (Score:5, Informative)

    by Eberlin ( 570874 ) on Monday May 03, 2004 @03:16PM (#9043527) Homepage
    As an act of rebellion, I ran all my web pages through deCSS and now I've got the MPAA after me!!!

    On a more serious note, I do like CSS as it is very handy when it comes to making site-wide changes. The big thing about it, though, is that it has to be there from the very beginning. Not that planning is a bad thing, but when you inherit site maintenance from someone that apparently heard Frontpage was "da bomb" and those FONT tags are everywhere, it hurts.

    I'm still having problems doing positioning with CSS, but I figure that comes with actually trying it out and working through various browser issues. Tables are still a very convenient way to get layout going...and it's a bad habit that needs to be fixed.

    For anyone who's starting a web project, DEFINITELY look into CSS. Even though it's got a bigger initial time investment, it pays off greatly in maintenance. Especially when the marketeers ask for a blue that's 3 shades lighter than what you currently have on 100 or so pages.
    • Re:Avoiding Piracy (Score:3, Informative)

      by telbij ( 465356 )
      FONT tags are everywhere

      Meet my favorite regexp:

      s!</?font[^>]*>!!ismg

      Good for dealing with other types of annoying tags as well. I export HTML from Excel all the time, but you wouldn't know it from looking at my pages.
    • Re:Avoiding Piracy (Score:4, Insightful)

      by arkanes ( 521690 ) <arkanes@NoSPam.gmail.com> on Monday May 03, 2004 @03:40PM (#9043808) Homepage
      CSS positioning is fundamentally broken. It's simply impossible to acurately recreate some of the stuff tables do, and even where it's not it's a (great deal) more work to recreate many simple layouts. Even something as simple as "center this element on it's parent" is impossible without absolute positioning.

      For styling CSS is da bomb. For layout, template based pages are at least as (if not more) maintainable, have the advantage of being cross-browser compliant (including text-based browsers), and are, in most cases, easier to understand and maintain. If you're going for pixel-perfect positioning, you'll want CSS though.

      The whole seperation of content thing is crap, though. The structure of the HTML still affects both the layout and the formatting, so there's no way you can get a totally clean break. Accept that fact that alterations to the sites HTML will require changes to the CSS and vice versa.

      The cross-browser issues are a real pain with CSS - it's worse than the hacks we all used back in 93 to make stuff render correctly. IE may be broken and non-compilant but it's still got the 80-90% market share and if you're doing any large-scale site it MUST render correctly on IE. That means giving up on a whole ton of CSS functionality, and especially if you're using it for positioning. One more reason to stick with tables for another couple years.

      Maybe CSS 3 will adress some of the issues. For the time being, I ain't real impressed. It's certainly a step up on font tags, but it's got a long way to go before it's usefull for positioning.

      • Re:Avoiding Piracy (Score:5, Informative)

        by telbij ( 465356 ) on Monday May 03, 2004 @04:09PM (#9044160)
        Even something as simple as "center this element on it's parent" is impossible without absolute positioning.

        Try margin: auto;

        Sure, you also need the parent to have a text-align: center for it to work in IE PC, but you'll usually have all your text in lower level block elements that can be defined with text-align: left to smooth things out.

        The whole seperation of content thing is crap, though. The structure of the HTML still affects both the layout and the formatting, so there's no way you can get a totally clean break.

        I definitely agree with this, though the only reason it really comes up is as a backlash against the horrendous practices that developed during the browser wars.

        The cross-browser issues are a real pain with CSS - it's worse than the hacks we all used back in 93 to make stuff render correctly. IE may be broken and non-compilant but it's still got the 80-90% market share and if you're doing any large-scale site it MUST render correctly on IE. That means giving up on a whole ton of CSS functionality, and especially if you're using it for positioning. One more reason to stick with tables for another couple years.

        The table hacks seem to make more sense, but in many ways I think it's just the familiarity that makes them seem better. Some of the CSS hacks ARE ugly, but a) there's a ton of stuff you can do without any egregious hacks and b) a little server-side IE detection can clean things up immensely.

        There is a ton of functionality that we do have to give up on for IE, but on the same token, there is a ton of stuff that works and is not possible using tables.

        I'm only concerned that my pages work in IE. Frankly, I'd much rather have them look better in Mozilla or Safari, to give Microsoft an incentive to further their CSS support. I've gotten several people to switch to Firefox after simply coming into my office and saying "wow, your web looks so much cooler!".

        I still do use tables for many common purposes (forms, certain types of alignment where floats break down, etc.), but now is definitely the time to start learning CSS-P techniques. Once you get a handle on some of the major IE bugs it gets a lot easier, trust me.
    • Props for spelling definitely correctly.
  • Quality (Score:5, Funny)

    by justMichael ( 606509 ) on Monday May 03, 2004 @03:17PM (#9043537) Homepage
    Write a book advocating the joys of CSS and then use a non standard cursor for the "a" tag ;)
    • Re:Quality (Score:2, Informative)

      by nazh ( 604234 )

      yup, and they even got the wrong order of the psuedo-classes [w3.org]

      a:link
      a:visited
      a:active
      a:hover

      should be

      a:link
      a:visited
      a:hover
      a:active

      and they aslo use properitary css, speaking of the scrollbar "css". propitary css which is not properly marked with vendorname Vendor-specific extensions [w3.org]
      and to qoute w3.org: Vendor/organization specific extensions should be avoided

  • w3schools? (Score:5, Interesting)

    by cexshun ( 770970 ) on Monday May 03, 2004 @03:18PM (#9043554) Homepage

    Not to be flamebait or anything. An honest question...

    What exactly does this book have that is not available at W3schools.com [w3schools.com]?

  • CORE CSS TEAM (Score:5, Interesting)

    by Anonymous Coward on Monday May 03, 2004 @03:18PM (#9043556)
    Someone for the love of god implement FLOAT MIDDLE

    I mean geesh, just give designers a bit of help with a small FLOAT MIDDLE syntax.

    • Re:CORE CSS TEAM (Score:3, Interesting)

      by telbij ( 465356 )
      I mean geesh, just give designers a bit of help with a small FLOAT MIDDLE syntax.

      Considering the current problems IE has with rendering standard left and right floats, and the slow pace of new feature implementation, writing float: middle into the syntax would probably mean that you couldn't use it in Mozilla until about 2010, and you couldn't use it for public websites until 2020.

      Also, why do you want float: middle? Having text run around both sides of an block doesn't serve much practical design purpo
  • Almost (Score:5, Informative)

    by Hard_Code ( 49548 ) on Monday May 03, 2004 @03:23PM (#9043624)
    Well, I went on a CSS bender and discovered that while it is great for pretty much all mundane styling problems, it still sucks when trying to layout content in table-like columns. Simple things like just getting a three column layout with various justifications, or getting divisions that occupy as little space as possible (since you can't tell it to "occupy as little space as possible" you have to rely on hacks like saying, "ok, bound yourself by margin parameters which eat up all empty space") is heinously difficult and requires bizarre hacks. I had to fall back on tables in some cases just to get a simple header including centered text with justified (left and right, respectively) flanking images.
    • Hybrid Layout (Score:5, Informative)

      by TrentL ( 761772 ) on Monday May 03, 2004 @03:29PM (#9043691) Homepage
      The more sensible CSS zealots seem to accept the "hybrid layout" concept. It's OK to use a table here and there if CSS browser bugs are causing too many problems. But the days of tables nested 10 levels deep and spacer gifs and crap like that are gone.
      • The more sensible CSS zealots seem...

        Sorry to pick a nit, but since when are zealots sensible? Try,

        "The more sensible CSS proponents seem..."
    • Re:Almost (Score:2, Informative)

      by gooser23 ( 113782 )

      I had to fall back on tables in some cases just to get a simple header including centered text with justified (left and right, respectively) flanking images.

      you mean something like:

      <div>
      <img style="float: left" .../>
      <div style="margin: 0 auto;">hello</div>
      <img stlye="float: right" .../>
      <div style="clear: both;"/>
      </div>

      It's not good enough to use CSS, you gotta make good use of CSS, and valid (X)HTML. It also helps if your target audience uses a sta

  • by TrentL ( 761772 ) on Monday May 03, 2004 @03:24PM (#9043632) Homepage
    From the book's website:

    The "CSS" in the title stands for "Cascading Style Sheets", a highly flexible way of formatting Web content. Core CSS, 2nd Edition takes a practical, pragmatic look at CSS, showing not only how you can make CSS1, CSS2 and Internet Explorer CSS extensions work for you now...

    I can't imagine a serious book on CSS talking about IE CSS extensions. People interested in this topic should get Zeldman's book, or the latest O'Reilly CSS guide by Eric Meyer.
    • PS (Score:2, Interesting)

      by TrentL ( 761772 )
      The book's site doesn't validate [w3.org], either. That isn't a huge sin in my book, but I see that the site uses named colors (black, gold, navy) for attributes. This is a no no.
    • For what it's worth, most of the IE extensions are usefull, and should be absorbed into the spec/implemented by other browsers. The ones I miss most often are overflow-x and overflow-y, but the layout options for non-Western character sets are neat too. According to MS, most (althought not all) of the extentions have been submitted to the W3C, so they should get off thier asses and add them to the spec so Mozilla devs can support them without feeling naughty.
      • According to MS, most (althought not all) of the extentions have been submitted to the W3C, so they should get off thier asses and add them to the spec so Mozilla devs can support them without feeling naughty.

        Perhaps the people at Microsoft should have gotten off their asses and finished implementing the six year old CSS 2 specification that they co-authored before coming up with proprietary add-ons. As it is, there are huge chunks of CSS 2 support missing or botched in Internet Explorer.

    • I can't imagine a serious book on CSS talking about IE CSS extensions.

      Why not? It is important to know what extensions are aviable for the major HTML engines (Opera, Gecko, KHTML, Tasman, and Trident) for several reasons. If you're writing software specific for a particular web browser, then it becomes extremely important to know about such engines. Or when most browsers support part of the standard, and a simple hack can add the other one to the list. Or when you're writing software to add some CSS su

  • by dpilot ( 134227 ) on Monday May 03, 2004 @03:25PM (#9043655) Homepage Journal
    But in the real world, how many people really try to code decent, standard-following web pages, and how many just code for IE6. Even if the job can be done the right way isn't it easier to be lazy and neglect everyone but IE?

    Are Gecko and Opera having a practical impact, yet?
    How about handheld devices?
    • "how many just code for IE6"
      Too many probably. According to some web browser statistics [w3schools.com], Mozilla and its derivatives are used by about 10% of the web (or the part of the web that visits that site). While 10% is small, you're still talking a significant amount of users, possibly thousands depending on the site's total traffic.

      It is easier to ignore those relatively few Gecko users of course, but sooner or later web designers won't.

  • CSS is still often not a practical solution when creating a web site. Unfortunately there are many things that are just too difficult to do with CSS - and I mean relatively simple layout issues.

    CSS fanboys love to mock web sites that "still" use tables for their layouts. However, when you try to practically design a layout just using CSS and without tables, it proves pratically impossible. Even hardcore CSSers get all excited when they do simple things like layout pages in columns.

    Try and find a big comme
    • CSS is still often not a practical solution when creating a web site.

      Just to be clear - I'm talking about layout. CSS is great for font colour/styles etc.
    • <p>Nothing wrong with using style tables while still formatting text with CSS. Last I checked, <table> was still standards compliant as of xhtml2.0 and html4.x.</p>
      <p>I don't think CSS is geard to replace html, but to keep it standard. As browsers evolve and the needs of designers change, the languages we use must evolve with technology.</p>
    • by Caleb Rutan ( 1996 ) on Monday May 03, 2004 @03:37PM (#9043776)
      Okay. Here's a couple:
      AOL.com [aol.com] - go ahead and laugh, but their site is classy and the layout is table-free.
      Sprint.com [sprint.com] - ditto. They use tables, for tabular data, like their stock quote info, but that's what tables are *for*.

      Commercial sites, especially big ones, are deep and take a lot of work to redesign and recode. Most of those probably aren't being torn down and rebuilt with CSS because there isn't an enormous return in doing it yet. This doesn't mean it cannot be done, nor does it mean that if you're starting a new site, or re-doing an existing one, that CSS can't do the job.

      In fact, I'll bet it can. See the Zen Garden [csszengarden.com] for a hundred or so examples of what can be done with only CSS.
    • Not true, a div can be positioned anywhere with pixel, percentage or em/ex accuracy. It can overlap others, and basically do anything a table can do but better. The only reason you hear people spending hours on basic formatting is because they want to do it absolutely correctly, collapse well (which tables don't) and want it to work in all browsers (which would be made easier if browsers bloody well worked properly). If you don't care about W3C correctness, then a div can be positioned anywhere and anyhow,
    • by medeii ( 472309 ) on Monday May 03, 2004 @03:52PM (#9043951)

      Yup. Wired certainly isn't a "big commercial website." Neither is ESPN, apparently. Or AOL, Inc.com, the PGA Open Championship, Sprint PCS, Phish.com, Quark.com, the U.S. Mercedes-Benz site ... the list goes on. Did you even think to Google for any of the myriad discussions about all of these sites switching to a better layout -- or did you just feel like pulling generalizations like "You won't find one." out of your ass?

      There are very, very few things that HTML can do, that CSS cannot -- and what's more, it's simple to design a site that works around those limitations. For every incompatibility or limitation CSS has that causes an extra five minutes of design headache, it saves fifty minutes through its simplicity.

      But, who am I to tell you that? Why don't you discover it for yourself? Start here. [alistapart.com]

    • Re: (Score:3, Informative)

      Comment removed based on user account deletion
    • by colinramsay ( 603167 ) on Monday May 03, 2004 @04:10PM (#9044167) Homepage
      Sorry, but you're stuck in the past. Think outside the box (model) and cast off your ideas of table based layouts. It's amazing how the web has become so inflexible in terms of design in such a short time.

      There are loads [zeldman.com] of [pga.com] good [happyandlost.co.uk] examples [guigalaxy.com] of CSS layouts that would have required huge nested tables to reproduce.

      I put it to you that table-based designs are holding back the imaginations of web-designers. The web-programmers are probably going to realise that soon. The reason why corporate sites are yet to realise that (but they are realising it - slowly but surely) is because - and this may be a shock - the majority of web people, like programmers, and many other professions simply do what they know; the easy stuff. The good ones learn new tricks and make the best end-products.
      • I put it to you that table-based designs are holding back the imaginations of web-designers.

        How, exactly? None of those links show anything that couldn't be done with a table. And I expect some of them would be a lot quicker to do in a table.

        I've nothing against CSS. In fact I like it. What I don't like is people that insist that because a site uses tables for its layout, it is somehow inferior. Tables are fine for many types of layout, and there is nothing "wrong" with using tables.
        • But that's the problem - there *is* something wrong with using tables. It's a bastardisation of the entire concept of the semantic web, you're using a data container for something it wasn't designed for.

          Those sites I showed you are examples of well marked up sites - their HTML is clean and fast (mostly:). Yeah, you could do them in a table stylee, but they would all be heavier, harder to maintain and sematically poor. Those negative points are important to me - important enough that I would be prepare to
    • Here's two

      ESPN.com [espn.com]
      Wired.com [wired.com]
    • Try and find a big commercial web site that doesn't use tables for their layout. You won't find one.

      ESPN [go.com]

      The ESPN site has two tables, which I'm fairly certain were placed there after the redesign, most probably by programmers and publicists. They're not part of the core layout.

      There's a whole new movement out there. It's a big community, and more people are getting into it every day. Sweeping, cocksure generalizations like yours are usually wrong, because of the fact that they're sweeping and cocksure
    • I agree wholeheartedly.

      CSS for style is wonderful. CSS for layout just ain't there. I mean, there's not even a standard way to position an element in the centre of the screen. I was trying to do just that, and I found a website outlining three different methods of centring elements, all with different levels of compatibility with various browsers.

      When I write a GUI in Java, the most often-used layouts are the grid-based ones. Tables are almost the same thing for the web. If you want to do layout, I thi
    • excitement (Score:3, Insightful)

      by mnemonic_ ( 164550 )
      "Even hardcore CSSers get all excited when they do simple things like layout pages in columns."
      Indeed, not only because of the struggle involved, but because of the great flexibility in using CSS instead of tables. It's not just "thank god I made a nice layout with CSS, it took me 7 hours!" but also "thank god I made a nice layout with CSS, now I can adjust it much more easily in the future and have far greater control than with any table hacks." And they are just that; hacks. The table tag was originall
    • but first... a word in favor of tables: they're NOT deprecated for tabular data, and DESPITE the "zealots'" insistence that they are inherently EVIL for layout, they ARE still "legal" there.

      ... that said, the time it took to absorb (for example) position: relative; top: -2.5em; was really worth while for (dayjob=webmaster) me. As one tutorial (sorry, can't recall which) pointed out, with css one can position elements on a page with single-pixel precision... and make that work across most browsers (ie

      • a word in favor of tables: they're NOT deprecated for tabular data, and DESPITE the "zealots'" insistence that they are inherently EVIL for layout, they ARE still "legal" there.

        The HTML 4.01 specification [w3.org] directly contradicts you:

        Tables should not be used purely as a means to layout document content as this may present problems when rendering to non-visual media. Additionally, when used with graphics, these tables may force users to scroll horizontally to view a table designed on a system with a la

  • Gradients (Score:3, Interesting)

    by thpdg ( 519053 ) on Monday May 03, 2004 @03:30PM (#9043710) Journal
    Has anyone else noticed the sudden rise of gradients and high-color icons and logos? They have begun appearing in huge numbers in webpages, software, and in new OSs. I installed Fedora Core the other day and was amazed by the beauty of it, but I wonder what the load is on the PC.
    I remember reading this whitepaper in 2001 [microsoft.com] about how to do this, and why, and I wonder if it is powering the entire phenomenon.
    With websites, correct layouts are even more critical to the look, and it looks like the techniques in this book would really assist with that.
    • I've believed for quite a while that XP's graphical design was a greater influence on the rest of the computer art world than most others believed. It seemed like right after beta screenshots of XP started floating around, subtle low-contrast gradients were being used everywhere. Note I'm not saying they were never used before XP used them, just that XP popularized them.
  • by Milo Fungus ( 232863 ) on Monday May 03, 2004 @03:33PM (#9043736)

    I may be a bit strange in this, but I learned most of the CSS I know by reading theW3C Recommendation [w3.org]. I started reading W3C recommendations when I wanted to learn how to code SVG. Tutorials and examples were relatively rare on the web, so I just found the specification and went from there. I find W3C recommendations to be very readable, and I've since read the recommendations for CSS and every HTML since 4.0. My web design has changed dramatically (and my dislike for IE has deepened).

    Has anyone else learned a web technology strictly from the specs?

    • I learned XHTML from the DTDs. I thought I knew HTML, but was having trouble consistantly writing valid XHTML. Like does a "form" go inside a "p", or the other way around? After printing out the DTDs and keeping them in front of me for the next couple of sites I designed I learned a lot.

      And of course I learned CSS from the rec. also. I was reading over the SVG specs a couple weeks ago. But after coding up a few samples and seeing the state of SVG support (period, I don't care about which browser you u
  • by PurifyYourMind ( 776223 ) on Monday May 03, 2004 @03:38PM (#9043793) Homepage
    The CSS3 Color Module includes an alpha value which can apply to all elements! I wonder how long it'll take browsers to implement it, though.
    • I wonder how long it'll take browsers to implement it, though.

      I think you mean, I wonder if browsers will ever implement it.

      Seriously, there are many elements of CSS1 and CSS2 implemented in all kinds of wacky and inconsistent ways or just simply ignored and no one's rushing to fix those.
  • by quantaq ( 643138 ) on Monday May 03, 2004 @03:44PM (#9043844)
    I just started learning CSS this past weekend, and I love it. The review of this book seems rather serendipitous to me, then. And yes, w3schools [w3schools.com] is a great place to get started.
  • by Quinn ( 4474 ) on Monday May 03, 2004 @03:52PM (#9043938) Homepage
    Am I the only one who feels as if this is only a teaser for a real review? The reviewer mentions a "table of contents below" and his "score" which I don't see. Have I just never noticed that there's some other link to click on to see a full review, or am I freaking insane, or wtf?
  • by chris_mahan ( 256577 ) <chris.mahan@gmail.com> on Monday May 03, 2004 @04:17PM (#9044238) Homepage
    88 errors in the html when validating with validator.w3.org/ in HTML 4.01 Transitional.

    You'd think they would have done a better job, no?

    Oh, and as someone mentioned before, css does not validate either.
  • I find this link useful http://msdn.microsoft.com/library/default.asp?url= /workshop/author/dhtml/reference/dhtml_reference_e ntry.asp [microsoft.com]

    Yes, I know we all hate microsoft -- but the reference clearly explains (at the bottom of each entry) whether the widget is CSS1/CSS2/IE-only compliant.

    I could do my job without a reference like this, but it's nice to have something to peek at when you start feeling insecure about your abilities
  • I have never used only CSS to design a website solo for the fact it is still browser dependent. I find a good mix of common CSS, good old HTML, and common sense works best.
  • by veg_all ( 22581 ) on Monday May 03, 2004 @04:37PM (#9044462)
    I haven't read this CSS book, but I've read a few, and the best ones always seem to have the same author. I can't imagine how one could be more clear and complete than Eric Meyer's Definitive Guide [oreilly.com]. He's also published a useful reference [amazon.com] to CSS 2.0.
  • by lone_knight ( 771218 ) on Monday May 03, 2004 @04:39PM (#9044484) Homepage Journal
    Up to a few weeks ago, I would have laughed at the idea of CSS being used in serious web design for anything other than simple color and theme coordination. On commerical sites, CSS seemed the exception to the rule, and I scoffed at sites that used <div> and <span> tags to layout their page.

    But that was before I actually saw the power and wisdom of incorporating CSS.
    I recently updated my personal test site [loneknight.org] to use full CSS for the structure and design, and was very pleased to learn about the two key benefits of CSS website design: structure and format.

    Structure:
    For ages my own coding methods involved nested table within nested table, until the complexity of my pages got so complex that a simple updates became a gamble of helping or shredding the resulting page. Nested tables are also nearly impossible to coordinate for pages that must be scalable for accessibility, or simply stretching the viewable resolution for more modern video display sizes. Tables were originally meant for one thing: formatting text data, not carrying the workload of page structure. The truth is, it is much easier and precise to define a site's structure using CSS positioning. I am a minimist at heart when it comes to my source code, and CSS has not only helped to reduce clutter in my source code, but in most cases has reduced the source size by about 20%.

    Format:
    Using relative font sizes and design templates for formatting text not only makes universal page design easy, but it also makes browser loading faster, since CSS can be cached by local browsers while hard-coded or code includes must be reloaded every time the user clicks a link or refreshes the browser. That means reduced server load and increased load speeds for the user, too.

    Now I realize, CSS is not the end-all and be-all of web design. There are some weaknesses, and the typical cross-browser support that needs to be worked out. But for the serious web designer, you can't ignore the elegance and the design concepts that make CSS a very powerful (and in some cases, superior) design tool.

    If you are interested, the W3C site has some great CSS howto's and examples [w3.org] on replacing table-based structure on your site.
  • by Christianfreak ( 100697 ) on Monday May 03, 2004 @05:08PM (#9044877) Homepage Journal
    Oh yeah it isn't.

    Seriously there are so many bugs and missing stuff from IE's implementation even of CSS 1 I fail to see how anyone can claim that its even remotely complient.

    Here's just a few things off the top of my head:

    • No support for min-width, max-width. Wrongly treats the width property as min-width.
    • Can't clip background images to anything other than the body
    • Tons of just plain bugs related to padding, and boxes, incorrectly clips fonts, even full words in some cases
    • No support for :hover, etc on elements other than a making it impossible to do dynamic effects without Javascript
    • No support for overwritting classes (ie .class > .someOtherClass { })

    The list goes on! And don't even get me started on the implementation of the DOM in IE, not to mention the security problems and other 'features' that also come along with it.

    Why oh why can't it just go away!? If you don't believe me, google for this stuff, its all out there complete with hacks to get around some of it (though most of htem use non-standard MS extensions)

  • by $exyNerdie ( 683214 ) on Monday May 03, 2004 @05:48PM (#9045353) Homepage Journal

    Since this discussion relates to CSS, here is a site with two excellent tutorials on CSS (bookmark it even if you don't use CSS now):

    - CSS Positioning (5 pages) [brainjar.com]

    - Using Style Sheets (7 pages) [brainjar.com]

    These two might help save you money on buying a CSS book

8 Catfish = 1 Octo-puss

Working...