Slashdot Mirror


CSS: The Definitive Guide

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.

34 of 160 comments (clear)

  1. My experience by 2.7182 · · Score: 3, Informative

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

    1. Re:My experience by Rob+T+Firefly · · Score: 5, Funny

      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.
  2. A wonderful book by SavedLinuXgeeK · · Score: 4, Interesting

    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.

    --
    je suis parce que j'aime
  3. My question by hypermanng · · Score: 3, Interesting

    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.

    --
    I am the one true god. However, as an atheist, I don't believe in myself. I guess I have a self-esteem problem.
    1. Re:My question by itlurksbeneath · · Score: 4, Informative

      Css browser support. 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.

      --
      Have you ever considered piracy? You'd make a wonderful Dread Pirate Roberts.
    2. Re:My question by Fozzyuw · · Score: 2, Informative

      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 you can see a decent estimate of what browsers are most used. Then you can check out browser CSS compatibility.

      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 design. Also, in my experience, complicated float designs usually can be simplified with other means to avoid X-browser issues.

      The biggest problem with CSS is that it also required good (X)HTML markup. Sometimes your CSS is sound, but the HTML code is not proper or designed by design instead of designed by content. A good book on working through this is Transcending CSS: The Fine Art of Web Design whose authors are also well known in the CSS/Website world and quote from Eric Meyer (the author of the book being reviewed on this page) as well as others.

      I've been starting to learn that lots of my CSS frustrations of the past have mostly been part of my fault not thinking about CSS properly and trying to make easy things more complicated. Though, it can still be said, there's still lots of room for improvement, in both browsers and CSS specs.

      Cheers,
      Fozzy

      --
      "The past was erased, the erasure was forgotten, the lie became truth." ~1984 George Orwell
  4. Good Book. Bad Index. by popo · · Score: 4, Informative


    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.

    --
    ------ The best brain training is now totally free : )
  5. What does this book offer... by moore.dustin · · Score: 2, Insightful

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

    1. Re:What does this book offer... by SavedLinuXgeeK · · Score: 2, 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, the same way that someone who has taken the time to write a technically oriented book would. Basically you are getting experience and wisdom from the book as well as information, and not necessarily so with most online tutorials.

      --
      je suis parce que j'aime
    2. Re:What does this book offer... by mysticgoat · · Score: 3, Insightful

      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.

  6. Re:designer not developer by drinkypoo · · Score: 4, Insightful

    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.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  7. IE is the roadblock by fiannaFailMan · · Score: 3, Interesting

    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.

    --
    Drill baby drill - on Mars
    1. Re:IE is the roadblock by juiceCake · · Score: 2, Informative

      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.

    2. Re:IE is the roadblock by 8-bitDesigner · · Score: 2, Informative

      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.

    3. Re:IE is the roadblock by Anonymous Coward · · Score: 2, Informative

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

      XHTML is not appropriate 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.

    4. Re:IE is the roadblock by brunascle · · Score: 2, Informative

      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.

    5. Re:IE is the roadblock by koehn · · Score: 5, Informative

      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.

  8. Re:Simplify CSS development by somethinghollow · · Score: 2, 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 may not continue to work). I usually only end up adjusting box model stuff.

    That said, IE still needs a lot of work to be compliant with CSS2. It sucks that my/our clients have to foot the bill for Microsoft's sub-par browser (instead of Microsoft).

  9. Not the only positive of CSS. by shawn(at)fsu · · Score: 2, Funny

    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.

    --
    500 dollar reward for tip(s) leading to the arrest of the person(s) who stole my sig.
  10. Re:designer not developer by Doctor+Memory · · Score: 2, Funny

    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...
    --
    Just junk food for thought...
  11. Might be worthwile by Da+Fokka · · Score: 3, Insightful
    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
    1. Re:Might be worthwile by edmicman · · Score: 2, Interesting

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

    2. Re:Might be worthwile by pwizard2 · · Score: 2

      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 it to be sloppy, but sometimes I just don't have a choice but to use workarounds.

      --
      "It is a denial of justice not to stretch out a helping hand to the fallen; that is the common right of humanity."
    3. Re:Might be worthwile by RoseAlbert · · Score: 2, Informative

      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

    4. Re:Might be worthwile by larry+bagina · · Score: 2, Insightful

      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 problematic than a 3-column css layout.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

  12. Re:designer not developer by Bertie · · Score: 2, Insightful

    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.

  13. Re:designer not developer by telbij · · Score: 2, Insightful

    Then your designers are better than your developers. A good developer should inherently understand the benefits of clean HTML, as well as the subtleties of what can be accomplished with CSS much better than a designer. Developers are always thinking in terms of code reuse and maintainability (at least if they're any good), whereas a designer is more concerned with how things look and maybe usability. The developer is the one who actually has to refactor HTML mockups from designers into templates, so (s)he is the one that should be concerned about bloated non-reusable HTML.

    Good to hear that your design people know the benefits of CSS though.

  14. Is CSS a Failure? Use wysiwyg web editors? by oldCoder · · Score: 2, Insightful

    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 all go back to using tables. I really think it's easier.

    --

    I18N == Intergalacticization
    1. Re:Is CSS a Failure? Use wysiwyg web editors? by pwizard2 · · Score: 2, Insightful

      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 & javascript method that IE6 with SP2 will disable by default. It is for this reason that I don't use Imageready for rollovers anymore.

      --
      "It is a denial of justice not to stretch out a helping hand to the fallen; that is the common right of humanity."
    2. Re:Is CSS a Failure? Use wysiwyg web editors? by itsdapead · · Score: 3, Insightful

      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.

      --
      In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
  15. Re:Ohhhh JOY Yet Another Mystery Novel (YAMN) by Shados · · Score: 2, Interesting

    Indeed. Honestly, CSS started from a good idea. CSS 1 handled, well, styles, like fonts, colors, etc. Thats good, and CSS is good for that. It actualy makes sense for it, the syntax is peachy good.

    Its when someone decided "Woooo, lets divide the page in 2, the logical structure and the layout!" that it got to become hell (aka: CSS2. For this post, I'll talk as if CSS2 was implemented at 100% in all browsers, to avoid some bozo saying "its microsoft's fault if you hate CSS blah blah blah).

    Since CSS came about several years ago, back in the days, it probably made sense. Today, it doesn't.

    A fairly typical enterprise web application has (for example, pulling stuff out of my ass):

    an RDBMS.
    a layer of stored procedures
    a data access layer
    a data transformation layer
    business objects
    a business logic encapsulation layer
    a business service layer
    a web service or remoting layer to distribute the app
    a controler layer for the UI
    the actual UI.

    A lot of these gets split in more categories (validation, security, etc). Now, some bozos want to start splitting it up even more. Semantic markup, styling, and if you push it, transformation (XSLT), and more. It makes sense in a web site, or a simple business front ends, like mmost transactional ecommerce sites, that have like, 5 different pages that need to be maintained a lot. But when you have several hundreds pages with vastly different purposes...it just starts being pointless. The CSS1 part still has its place, to make a "theme" for the entire site. But positioning? You need 1 stylesheet -per- page, since each page is 90% different aside from the navigation. And most of the semantic part is generated from the layer right under the UI layer, so the structure vs display is -already- split. Its just redundant.

    But since all the wackos that don't get that are extremely vocal, and have been pushing it like crazy, the browsers and the web in general are going that way. So for the being, we're stuck with it. Even worse, I recently got hired by a top fortune 500 company, and amazingly enough, I'm the only one who semi-advanced (relatively speaking) knowledge of web interface technologies, so I'm stuck dealing with all of it, because when trying to explain to the other programmers whats the difference between position: relative and position: absolute, I get blank stares. Oh well. At least thats job security...

  16. Re:Ohhhh JOY Yet Another Mystery Novel (YAMN) by juiceCake · · Score: 2, Insightful

    As many have said in this string of posts, without the use of tables, it is no longer a job for the general web creator to create a three column lay out, without being a complete CSS guru and even for them it gives them headaches.

    It's very easy and requires less code than using a table.

    In my estimation, what the designers of CSS have managed to do is crush the life out of the promise that once was the a usable, if slightly clumsy, way to present information.

    In my estimation, they've given the web new life and promise, and increased interchangeability, not to mention making changes.

    As an example. Using un-ordered lists to create menus. Its a complete and total hack, and I mean to use the word hack in the most derogitory manner possible. Instead of comming up with a menu framework that was designed from the ground up to be menus they used this stupid hack and think they are so cool. News for you, your not cool, your not smart nor are you clever.

    How is it a hack? It makes semantic sense. You have a list of menu items. As for being cool, who cares about that nonsense.

    There are elements of CSS that are quite functional and workable, but for the most part its just a cludge and a bad one at that. Lets take for example something that could make all of our lives easier, the basic ability to have include files. All you CSS lovers hate frames and you hate tables. Well with frames I can make ONE file contain the entire drop down menu section. I create it in one file and ONLY one file. I edit it in ONE file and ONE file only. So while you geniouses are comming up with HTML, DHTML, XHTML, CSS1, CSS2, etc. ad nausium, you cant seem to fit that simple part in there. Every freeking page has to have the complete menuing system in it and if anything has to be changed in it, like CONTENT someone has to go and edit 1 to n freeking html files, sorry, but for that you guys just plain SUCK.

    I use include files all the time. CSS in no way prevents you from using them. Furthermore, the style sheets are very much like include files in that you go to one single sheet and make changes and the changes are reflected site wide. Every page in a CSS programmed site does not have to have the menu in every page, you just use an include to avoid that. It's interesting that you're calling people geniuses in a derogatory manner when you don't know what you're talking about.

    Now I just know someone will think in regard to that last bit, that it should just be in a database! Well sure as shootin! Except why on fucking earth does a 10 page web site need to have a complete CRM system behind it? Why should it even have a database! Then you will say, but it is only 10 pages, you should write a VI or better yet an EMACS macro to handle that. Better yet anyone who would suggest that should get rectaly examined by the phalus of a donky. UL's twisted into menu's are not trivial and can be broken quite easily. Develop a MENU interface if you are determiend to turn something loosley associated with desktop publishing into a full on interactive bit of software.

    No you don't know what someone will think in regard to the last bit, unless of course they don't know what they're talking about whatsoever, like yourself. Databases are great for data heavy, frequently changing sites that can be changed by non-developers, but simple lesson in some basic editing is fine for a small site. Just have them edit the include files that you, for some reason, think are news to everyone.

    The bottom line is this, if you want people to really embrace CSS then FIX IT. Get the venders to fix the browsers and if they wont fix it, then stop twisting CSS all over itself to accomodate them and just let it those browsers fail and the market will fix it.

    Many people are embracing it. They embrace it so much that they actually know what they're talking about. Fixes have been a priority for most vendors as well. There is some twisting in regard to IE, but until recently, that particular browser didn't move at all for years in terms of development.

  17. Re:Ohhhh JOY Yet Another Mystery Novel (YAMN) by Anonymous Coward · · Score: 2, Insightful

    Usually I'm content just to read other people's comments and letting the Slashdot market-force correct misconceptions, but you, sir, have forced my hand. I know there's already an good reply by another poster, but here's my take.

    As many have said in this string of posts, without the use of tables, it is no longer a job for the general web creator to create a three column lay out, without being a complete CSS guru and even for them it gives them headaches.

    Umm.. no. Among the many ways one can do this, one of the simplest one will take all of.. four divs, 1 parent and 3 contained siblings. If you want more precise controls, then of course, you have to delve deeper into the levels of complexity - but how is this different from so many sites using meshed colspans and rowspans just ot get elements positioned just the way you want it?

    In my estimation, what the designers of CSS have managed to do is crush the life out of the promise that once was the a usable, if slightly clumsy, way to present information.

    Yes, yes.. as much I hold your esteemed estimation in the highest regard, I must respectfully point out that CSS allowed us to break free of having to litter our pages with a myriad of <font>, <b>, and <i> tags, not to mention repeatedly setting the same properties to all elements of the same class by hand. Oh, and you want to change the background color of every single one of 20 pages? Good luck to you sir!

    And that was just some examples of the uses of CSS; semantic groupings of logical 'classes' of elements, and separation from content, which makes it easier to apply the same style to many different pages with different content. it's not even taking into account the finer grain of control one gains over your element - how would you postion your company logo exactly at co-ord (10, 15) without CSS or VB/Javascript? How would you specify links to turn bold on mouseover? Oh, I'm sure you'd prefer the good ol' days of the <blink> tags and HTML-only formatting, but people these days a somewhat more demanding taste..

    As an example. Using un-ordered lists to create menus. Its a complete and total hack, and I mean to use the word hack in the most derogitory manner possible. Instead of comming up with a menu framework that was designed from the ground up to be menus they used this stupid hack and think they are so cool. News for you, your not cool, your not smart nor are you clever.

    Ignoring that rather high-schoolesque remark at the end.. What *is* a menu, if not a list of choices? What do you think it's stored as for most applications? Heck, how else do you think it's stored in a Javascript menu (hint: arrays are a kind of ..)? What CSS does is to take that unformatted list, and makes it look slick and polished for the user. What would you prefer, tables for menus?

    As for the comment about a new framework for menus.. may be workable I guess. But still, what's the point of coming up with so many specialized tags? Yes, it will have to be a HTML tag - unless you meant taking that UL and making it display like a menu, which of course, by your definition, would be the 'most deragatory manner of hacks'.

    There are elements of CSS that are quite functional and workable, but for the most part its just a cludge and a bad one at that. Lets take for example something that could make all of our lives easier, the basic ability to have include files.

    I'm sorry.. you hadn't heard of @import? Oh, you meant content including? Pray tell, how/why is CSS supposed to handle content? Sometimes I wonder if you know the difference between CSS & HTML, and which you're ranting against..

    All you CSS lovers hate frames and you hate tables.

    Um.. no. Frames are fine actually. They're a bad way to do things, b

  18. Re:Ohhhh JOY Yet Another Mystery Novel (YAMN) by Isofarro · · Score: 2, Informative

    There are elements of CSS that are quite functional and workable, but for the most part its just a cludge and a bad one at that. Lets take for example something that could make all of our lives easier, the basic ability to have include files. All you CSS lovers hate frames and you hate tables. Well with frames I can make ONE file contain the entire drop down menu section. I create it in one file and ONLY one file. I edit it in ONE file and ONE file only.

    CSS isn't a content language, its a styling language. A styling language that relies on the underlying semantics of the markup language you are using.

    Your problem has been solved over a decade ago:

    Of course, using SSI means using a webserver and configuring it properly. Even decent shared hosting gets that right. Might not work on Geocities though, but HTML preprocessing will.