CSS Web Development

12 comments | Posted: 27 November 06 in Books, by Nathan Smith

CSS Web Development This past weekend I was finally able to make some time to read the good book Beginning CSS Web Development by Simon Collison. It had two superb technical reviewers in Dan Rubin and Richard Rutter, who are both CSS wizards in their own right. Like many other great titles from Apress in the Novice to Professional series, this one delivers a thorough explanation of the language. It starts with the basics of XHTML, then covers more advanced topics.

What I especially appreciated about this book was Colly’s ability to address different layout solutions from varying standpoints. Instead of taking a hard-line stance on any particular topic, he encourages the reader to explore and determine the best solution for a given problem, using multiple examples.

For instance, when laying out forms it is often difficult to plan for arbitrary lengths of text in the label, so it is not always possible to use float:left; display:block; text-align:right; to create a consistent columnar layout. When you are going to be handing code off to other developers, you don’t want them to have to worry about changing CSS every time they edit the form.

So, sometimes using a table for a form is a necessary evil, and Colly shows how to do it in the most semantic and accessible manner. He also shows how to do form layouts using typical paragraph and line breaks, as well as definition lists. There are also a variety of page layouts covered – two and three columns, using liquid or fixed width. Additionally, he explains floats and clearing, absolute and relative positioning. Also, he covers how to use lists to build navigation.

There is even an entire chapter devoted to accessibility, and one that covers many miscellaneous topics like image roll-overs, and hacks for various browsers. There is also an extensive CSS reference in the appendix, so you can easily look up various properties and their possible values. I did notice a few discrepancies, but these have since been addressed in the errata. I won’t bother mentioning those here, but be sure to read it over for clarification.

In summary, if you are a fledging web designer looking to shed bad habits and make the jump into the 21st century of web design, then this book is a must-have. In my opinion, all web developers need to have three key CSS books on the shelf. If you are just starting out, read them in this order:

  1. Beginning CSS Web Development
  2. CSS: The Definitive Guide
  3. CSS Mastery

Discuss This Topic

  1. 1 zac

    Good list of books there. Although not a CSS book per se, I’d add Zeldman’s “Designing with Web Standards” to that list.

    I recently discovered your site via Cameron Moll’s linkage. I look forward to visiting often and contributing if possible.

     
  2. 2 Natalie Jost

    You know, Nathan, I’ve always gone with the thought of tables being for data (input or output), so forms being data input would be appropriate for tables, wouldn’t it? Of course, technically you’d be using it for layout of the form, but still… Either way, I think forms in tables falls under Zeldman’s merciful “hybrid layout” allowance.

     
  3. 3 Nathan Smith

    Natalie: Yes, I have always thought of tables in that way too. To me, the combinations of label and their corresponding inputs makes sense as a tabular layout. I think it is a situation in which a hybrid solution is well justified.

     
  4. 4 Nate K

    I would agree that this was an excellent book. Reminded me somewhat of Dan Cederholms ‘Web Standards Solutions’ in its writing style. Both show an array of approaches and show you the ups/downs of each approach. I think Simon did an awesome job with this book – and I would recommend it to anyone beginning CSS.

    As for forms, I am not sure I see them as ‘tabular data’ of sorts. I think that they would be more closely tied with a definition list. Using labels helps keep things in order no matter what your preference. Making sure the form is accessible should be top priority. He did a great job of explaining this in the book as well – and showing accessible approaches for the different methods.

    So, though my preference for forms is different – I do agree that you could justify a hybrid solution (especially for complex forms).

     
  5. 5 zac

    With regards to CSS layouts of forms, check out the link below. It offers some beautiful solutions.

    http://www.formassembly.com/form-garden.php?formId=29&style=/form-builder/css/default

     
  6. 6 Charlie Fiskeaux II

    It’s unfortunate that so many “21st century” web design books simply replace old bad habits with new bad habits, such as using XHTML instead of HTML Strict (see http://hixie.ch/advocacy/xhtml) and advocating the use of hacks. The relase of IE7 is a good illustration of why not to use hacks: using a rendering bug to make sure your page renders “properly” means that there’s a good chance that bug will be fixed in a future browser release, and that you’ll have to go back and fix all your sites which use the hack. This is not a good practice to get in the habit of doing, and should be avoided at all costs (in my years of CSS web design, I’ve done plenty of layouts and have never encountered an issue that I couldn’t fix without a hack).

     
  7. 7 Nathan Smith

    Charlie:

    It was not my intention to advocate CSS hacks, and I do not think that was the author’s aim either. You should read his book before making blanket statements about its content. I think it is important that this book covers hacks, precisely because they were so misused in the past. It could come in handy in case a developer is working with older style-sheets written by someone else.

    As far as HTML 4.01 Strict vs. XHTML 1.0 Strict, I do not really think it matters as long as it well-formed. I am aware of all the arguments against XHTML due to text/html versus application/xhtml+xml. It is a moot point, considering that XHTML 1.0 Strict is allowed to be served as text/html – read this article. I advocate XHTML because it enforces well structured code as part of the specification, whereas HTML is a little too lenient for my taste.

     
  8. 8 Colly

    Charlie:

    Couple of points.

    Firstly, I don’t advocate the use of hacks – I explain in detail about why they shouldn’t be used, except in extreme circumstances. Anyway, I actually talk more about filters, which are perfectly acceptable given the current anomalies of certain browsers. Conditional Commenting, for example, as preferred by the IE team themselves.

    For the record, I don’t actually use hacks – never have, but surely you’ll agree that those new to CSS need to be aware of the landscape into which they are walking?

    Secondly, I refer to (X)HTML in the book – and the (X) is a very important distinction, which is explained at the beginning of the book.

     
  9. 9 Josh

    I’ve got the book coming in the mail. May even get here today. Looking forward to hopefully shedding some of my crap-habits. Thanks for the review. I’ve been looking for a book like this.

     
  10. 10 Richard Brown

    I might pick it up. I have found a great benefit in reading Bulletproof Web Design by Dan Cederholm and also being part of the css-d list (http://www.css-discuss.org/).

    I would love to know how Colly avoids hacks though. Try building a site for I.E. without some sort of hack!

    Rich

     
  11. 11 Anonymous

    I personally found Bulletproof Webdesign to be extremely short and lacking in content. Sure it has nice paper and lots of full colour images, but if you have a fairly good idea of CSS I’d recommend CSS Mastery over BPWD any day. It’s just not worth it I think.

     
  12. 12 Dave Young

    Just received the book last week, and it has been really good so far.

    I look forward to the rest of it.

     

Comments closed after 2 weeks.