Web Standards Solutions
With the title Web Standard Solutions (which we will refer to as WSS from here on), you might expect this to be a book that is going to solve your problems, and without disappointment that is exactly what is does.
WSS takes a problem based approach instead of the commonly used project based approach to teaching you the value of designing to strict standards. I found this approach very refreshing, WSS kept my attention by presenting a problem, and then presenting 3-5 solutions on how to accomplish the task at hand. With each example Dan takes you through several ways to achieve the required result. Each of the methods shown are common patterns that different developers/designers would use, and the pros and cons of each are well articulated.
A lot of you may know Dan from his Simplebits. website. If you frequent Simplebits you will immediately recognize his style in the writing of WSS. Much like the mini quizzes that are used on his blog, this book is really a compilation of the hurdles that you are likely to face when trying to design to strict standards, and the solutions presented will get you over them.
WSS will also help the budding developer realize the business value of designing to standards. Once you start designing with standards, search engine rankings can jump, continued maintenance becomes a breeze, and the accessibility to screen readers (or other requirements) can be elegantly met.
One of my favorite parts of the book is the in-depth techniques used to style lists. WSS shows you how to take a regular non-formatted list and, using CSS, style it in several ways: as a vertical shopping list; without bullets and indenting; with custom bullets; and eventually as a horizontal navigation bar with changing bullets.
This book really stands out when covering the most basic foundations of layout such as paragraphs, lists, headers, titles and the like. The first half of the book really gets into the proper use of the most basic CSS techniques and proper selection of tags for headings, quotations, etc. While the second half of the book requires you to use what you have learned along the way to start building CSS based layouts.
If you are a regular at some of the advanced sites like CSS ZenGarden or A List Apart this book may be a little basic for you. Even still you will probably be able to take some techniques from it that you can use, this book is really more for the designer that is capable but not quite deadly with their CSS knowledge.
Overall I would give Web Standards Solutions the Markup and Style Handbook an 8.5 out of 10. I really think it does a fantastic job at keeping the reader interested in the subject (something that is often very hard to do in technical books) and will definitely be a great business tool for you. A quick read it is, but a valuable reference that has earned a spot next to my keyboard, my 3 bars of caffeinated soap, and the trusty case of bawls.
You can purchase Web Standards Solutions: The Markup and Style Handbook from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
A book review on HTML standards posted on Slashdot.
looks like his name is Vederholm instead of Cedarholm in the stats box on the review. Minor pebkac!
The book has a home page here where you can download a sample chapter.
Read Epic the first RPG novel.
I'll have to check that out, along with the sites you mentioned. I do a lot of web design myself, and I've found the W3C's site to be a pretty helpful reference for what I do, but I'm always interested in learning more from additional sources. Incidentally, another helpful tool when doing CSS is the EditCSS extension for Mozilla Firefox. It can save some time in trying to get everything looking just right.
"You're older than you've ever been, and now you're even older."
A /.er attempting to define irony, especially when incorrectly identifying a CSS standards book as an HTML standards book.
CSS is for styling/layout, HTML is for structuring of the document. Two completely different beasts.
And why buy a book when you can read the W3C recommendations/specifications for HTML/XHTML and CSS that are (imo) very understandable and easy to read?
During development, you can easily setup PHP.XPath to automatically validate every page you create.
Simply turn on output buffering at the top of your script using ob_start(). It's best to do this in a common header script called by all your pages.
Then, in a common footer script, load the output buffer (retrieved as a string using ob_get_contents()) into an instance of PHP.XPath using the importFromString method.
If your page displays, it will at least be valid XML (most of the way towards being valid XHTML). If you break the well-formedness of your output your page will not display because PHP.XPath will raise an error.
FYI,
;)
Neither S in CSS stands for "Standard". What i mean but that is that do NOT expect CSS to give you a right once play on any browser with the same results.
CSS is great to reduce download speed of pages. To keep all the style in one place. To separate logic from data. But do not think writing a web site in CSS will solve all your browser compatibility problems.And don't fall under the influence of some elitist CSS religion.
The amount of hacks, even by the experts, required to even get close to modern browser compatibility is really hilarious. (ooops i mean painful.)
So get into CSS. Use all the great features in offers, but remember that its not magic bullet.
Yes, i'm sure there are some simple sites that can be pulled off with CSS and look pretty much the same but honestly, when you reduce your site to this level, they ALLL look alike:
-header graphic
-2 or 3 columns
-a sort of anasepctic feel to it.
In the mean time, stick with a combination of CSS AND minimal tables.
Don't believe it? FIne, its not my hair that you will pulling out
With a couple of projects coming up that are going to require complete W3C CSS and XHTML validation (with 1 client requiring just a pure CSS layout)
Now I'm all for using standards, I do my best whenever I can. But, what kind of foolish project woudld REQUIRE standards compliance? HTML and CSS are something that can be written by any school kid, and you and I both know that your average school kid doesn't know the ins and outs of the CSS and XHTML standards, and probably never will.
I understand what kinds of problems this can create, but requiring compliance with an iron fist is like a big red sign saying "Don't use the app, we're too anal"
Can the author name the specific projects which are doing this?
Yes, I am a smart ass; it's better than the alternative.
There are really no need for web standards. All you have to do is repeat what is so often written here with regards to bad spelling, poor grammar and incorrect usage: "Hey man, the language is dynamic and evolving."
http://www.rootstrikers.org/
I picked up this book last week. I found it an excellent read and suitable for CSS users both novice and advanced. It gave me a couple ideas for ways to do these and further illustrated the necessity of web standards compliant design.
I also bought it because I met the author at the 2004 TOevolt Conference and he gave a great seminar and was a cool guy to boot.
It also spends some time on web accessibility, something all developers really need to start thinking about.
has now become my right hand man
Cool, are we all invited to the wedding?
The "Buy" link listed is at bn.com, but you can get it for cheaper at Amazon.
CSS/XHTML
as
hand-coded HTML
whilem ple.html
http://www.csszengarden.com/
looks nice for the eye,I find it almost unreadable.
Compare the css free version
http://www.csszengarden.com/zengarden-sa
which XHTML browser are you using for that ?
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
Imagine if the Internet had started out with today's newest XML standards back in the early 90s. Imagine that browsers were strict and accepted only standards-compliant code. To design a site you'd have to know strict XML and understand DOCTYPES and all that. The layout of your webpage would be strictly defined by CSS 2.0, which means you'd have to learn that too.
Would the Internet have flourished? Maybe. But I bet adoption would have been slower. It would have certainly put off alot of people trying to create a simple functioning webpage.
Heck, it might have caused some genius to invent a simpler alternative to XML/CSS
It was meant to be a joke. I was poking fun at what people say about English while at the same time pining for "standards" in coding.
http://www.rootstrikers.org/
Well, he is a web developer!
"Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
Should read:
Sure, anyone can learn what <a href=""> means...
5. This is a design problem and can be fixed with an increase in skill from the developer.
4. Ummm, CSS files are downloaded once on the first time to the site and then kept locally for the rest of your visit to the site. This reduces bandwidth, and reduces loadtime. So yes, this happens the first time you hit the page, but not any other times.
3. No they want to depreciate broken HTML. There is nothing wrong with HTML which follows the standards. And CSS is simple, very simple.
2. Hardly anyone uses personal stylesheets. There are two reasons for that. No standards on class and ID namespace. Browser implementation of this is buried behind a ton of menus. No one knows about this as a feature.
1. Your problem is with the validation buttons, not the fact that the page is validated.
Fantasy remains a human right; we make in our measure and in our derivative mode... -- JRR Tolkien
Yep I went to your page. Nice use of switching css via cookie -- I tried all three styles.
I couldn't agree more. The time invested in perfecting CSS does NOT repay itself with most sites. CSS takes much longer to get right than table-based design and CSS-P was something of an afterthought, hence the contortions required to do some things in CSS which are trivial with tables, eg. getting the background colour of a column to extend to the largest height of a group of columns.
The sheer weight of hacks required to make CSS work makes me wonder, with Opera 7.5 STILL not getting there, whether the CSS specification was badly conceived in that it appears to be very difficult for browser manufacturers to implement. The latest version of Dreamweaver also has problems rendering floated elements properly so maybe CSS is just too darned complex for efficient rendering? Maybe tables are simpler despite the amount of code they generate?
"Imagine if the Internet had started out with today's newest XML standards back in the early 90s. Imagine that browsers were strict and accepted only standards-compliant code. To design a site you'd have to know strict XML and understand DOCTYPES and all that. The layout of your webpage would be strictly defined by CSS 2.0, which means you'd have to learn that too.
Would the Internet have flourished? Maybe. But I bet adoption would have been slower. It would have certainly put off alot of people trying to create a simple functioning webpage."
Oh I wouldn't worry. The "do it for the love" crowd would have been up to the task.
Seriously would the web have taken off like it did if there wasn't such tools as Frontpage, Dreamweaver and Netscape Composer, etc, etc, etc to hide what was being used? So why would strict XHTML/CSS somehow be an exception? I think it more likely your uncomfortable with all these new changes, and simply wish to stick with what you know. We bub, outsourcing has taken away that option. Learn it and still have a job, or don't learn it, and your competition will. Your decision.
Some web pages, such as photo albums, actually increase in size when converted to CSS layout. The idea that replacing table tags with equivalent div's and span's somehow reduces code bloat is a misconception.
As for accessibility, would someone please present the case for improving devices which help minorities to access existing content instead of having the majority limit their design options to cater for poorly-featured devices? Isn't this back-to-front thinking?
Damn, my CRT's nearly 4 years old. Couldn't work out why I was looking paler in recent years.
C'mon friggin' Microsux... Get it in your damn browser already... It'll take another four years before we'll be able to use it, but at least it'll be there...
09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
Lists
Floats
Filtering
Type Issues
The articles on A List Apart create a static HTML mockup of the front page. However, there's more to Slashdot than the front page, and it's not just a matter of copying that mockup onto the site and having done with it. The Template Toolkit templates have to be rewritten to use the new code, and similar new markup and CSS must be written for things like comments, the comment form, the nutty little boxes and so on.
CowboyNeal has said repeatedly that if someone was to submit a complete, working template he'd consider making use of it. Also, more recently it was claimed that someone was working on one. The software that powers Slashdot is an open source project, and Template Toolkit is not specific to Slashdot and pretty well documented. If it really bothers you, scratch your own itch and submit a patch.
I didn't think this book was all that great. It wasn't terrible, but it didn't cover much that Designing with Web Standards by Jeffrey Zeldman didn't cover better. I would highly recommend Zeldman's book over this one. Zeldman's writing style is reads more quickly, and actually makes it fun to read. I'd give WSS a 5.5, and Zeldman's book a 10.
Software sucks. Open Source sucks less.
Reference:
Tutorial:
Should I be suprised that I see no the mention of CSS3, let alone CSS2(everything is just stated as "CSS"), anywhere on Slashdot, the book's synopsis, reviews, or even the author's own website?
For all I know, it just teaches you Microsoft's faulty CSS1 specification they used back during the release of Internet Explorer 3.0 back in 1996, exciting! What could be better worse than this? Lots of things, I'm sure, but even Cascading Style Sheets For Dummies mentions CSS3 which Opera and Firefox/Mozilla support.
That makes me .... slighty uncomfortable.
While I admire the work done on the Zen site that was linked, and the others, I'm still waiting to see a site that does more than show a few images and a blurb.
I'm not that familiar with CSS, but I'd like to see some examples of pages that have actual user interaction widges - buttons, drop down lists, editable datagrids.
The examples I've seen linked in this thread are nothing more than glorified text documents. But the WWW has progressed a little past sites of that simplicity.
How does CSS handle complex sites?
Of course the most interesting way to learn the new standards is to practice coding and to look at how other folks have coded their sites. I think that what is interesting about XHTML/CSS is that there are several different ways one might go about coding a page to reveal the same layout. Its also interesting to see just how much you can manipulate what amounts to very simple HTML into something more complex and attractive.
The challenge, however, is to come up with a finished design that has the same visual polish as those you might have chopped up from Photoshop or some other graphics program. Not to say that it is impossible to have a graphics heavy design using new standards. Rather, I have found that in working with CSS encourages a bottom-up process in designing a page starting with your code, while earlier Web design methods follow a more top-down approach, starting from a design comp.
However, I think that the new standards also encourage a certain simplicity aesthetic. I think many Web folks are appreciating designs that aren't so clutered, that download and render really fast, and have built in accessibility and search engine performance advantages.
"It's a tad cliche, but Internet Explorer is doing more harm than good without all its serious security problems."
Of course, but that's not a popular opinion by the web developer community. IE and derivitives is over 90 % of the market, and most developers follow the "path of least resistance" methology(1) when it comes to site design.
(1) Many reasons. Understaffed, only thing they know, fear of the new, rigid boss, etc.
On the website say: "This site is best viewed in Mozilla".
That will make people flock to the Gecko based stuff faster than you can say Internet Explorer.
I know you are psychotic, but please make an effort.
5. That is partly bad writing, if you write it well it will degrade OK. You can harldy blame the technology for naff implementaion.
Also, at some point you have to give up support for older browsers, or you never get anywhere. If you write for IE5.5+ and Mozilla it's pretty easy (bar some IE gotchas). A degraded site may not look as nice as a pure HTML one on old browsers, but it will look a hell of a lot better on mobile appliances (if done properly).
4. You do know that browser download the css and javascript files at the same time as the HTML right? Plus once downloaded they are cached. The multiple files are quicker and reduce bandwidth.
Viewing the page as it downloaded was only possible becuase the pages were so simple back then.
3. HTML is not simple. I'm a profestional web developer, and I work on our companies e-commerce site written largely pre-CSS HTML. To get the look required there are multiple nested tables every where, spacer gifs, font tags and all sorts of horrible, complex stuff. The "My Web Page" I had a university was simple, many modern websites are not.
I recently worked on an offline version to run from a CD and got to re-write parts of it to use CSS. Much cleaner, much more simple.
HTML is only simple if the page is simple, and then the XHTML/HTML + CSS is simple too. For complex pages using CSS makes the code much simplier. What is easier, a defining the font in a few places in the CSS, or sticking FONT tags everywhere? Positioned DIV tags, or nested tables? People think HTML and for some reason think basic pages like the early internet.
2. "People" were tarting up pages before CSS, and doing things like web pages in Flash. As the internet matures there is an expectation of more polished web sites. This is apart from the technology used. At least CSS makes it easier to to make slick sites (not easy, not simple, but easier than pure HTML). Anyone can use personal style sheets, if their browser supports it.
1. Who are these people? Where do you base this on? This is a non-complaint, the button only takes up a bit of space, nobody forces you to go a follow the link a read about standard. Part of CSS is seperating style from content, once you set it up for a site, it becomes easier to write new content.
If these are the top problems with CSS it has no problems. I'd say as a developer the top problem is it can be fiddly to debug, and figure out what rules are applying to what elements. I find the Firefox/Mozilla DOM inspector and developer toolbad a godsend here.
My personal top 1 CSS problem: 1) It's incredibly complicated to do what you want. I know most people will think I'm some idiot who uses Frontpage for saying that, but CSS isn't easy to get right, if you're just getting into it. I'd say the learning curve is pretty steep (browser non-standards and IE bugs don't help). Say you want a simple two column layout. In tables, that's the simplest thing in the world, and well within the cognitive grasp of just about anyone. Even pixel perfection is easy to achieve, if you want it (actually, flexible layout with pixel perfect lining up is easy too). Do the same thing in CSS. Once you've done it a few times, it's fairly obvious, but CSS seems to favour stacking box elements rather than putting them side to side. Float-left, position-absolute etc etc all seem very non-intuitive to me. Once done though, browser resizes tend not to do anything unexpected. Don't get me wrong, I'm trying to move more and more of my work into CSS, but every so often, I'll use a table to lay stuff out just because it's so much easier to do what you want (quickly). So I might well be nipping down the local bookshop to see if this book (or the others mentioned) are any use to me.
Don't forget doctypes! Browsers render different doctypes (or lack thereof) differently.
Unfortunately this board has made me rethink a problem I felt was relegated only to some misguided clients for us out there. That being the difficulties associated with marketing CSS driven accessible web sites.
One point which I feel is left out of much of the debate here is the benefits in development afforded web designers by CSS. I'll admit the learning curve can be steep, and cross-browser hacks plague us all, but once you begin creating multiple CSS driven sites you notice a signifigant decrease in development time. I personally attribute most of this to being able to apply consistent elements across an entire site uniformly from the project's outset.
sites. And recently tried to address the problem I saw (getting more clients interested in building CSS layout sites) in an article I wrote.
I decided to turn a site to full css on request. To make it more interesting, they wanted to use postnuke, which has templates based on heavy table use.
...
... :(
I am not a designer, and worked for a week on the site, so it almost looks the same on every browser.
However I realised, that a lot of the browsers have broken css render (such as IE 5) and many people are using those still, so you will end up writing lots of version detection stuff, that will put different css for every browser.
Instead of turning everything simple,. it makes a hell right now.
here is a the site in question. Please note, that the content is not ready, and the css-ish design is still under works
http://egamingsecrets.com/
just to give an example, look at it from ie5 (note the menu on top how it sucks)
now look at ie6 (look ho the menus get wider, and that padding does not work right (eg the main chapters on the news pages)
now look at mozills, it looks kinda OK
that's where I am, maybe I roll back to tables , or start the browser detection dependent css horror
You do know that browser download the css and javascript files at the same time as the HTML right?
Why don't you think about this for half a second. The location of the CSS and JS files are *in* the HTML file. What you write cannot possibly be true.
You can harldy blame the technology for naff implementaion.
Over complicated tech tends to get those sort of implementations, because there are more opportunities for failure. We're creeping back toward SGML.
all sorts of horrible, complex stuff
Complexity is inevitable. You have simply chosen a complexity you personally understand better (and apparently rewritten an entire website in the process).
At least CSS makes it easier to to make slick sites
CSS actually adds more bullsh*t graphic options.
once you set it up for a site, it becomes easier to write new content.
It raises the barrier to entry and encourages people to be anal about the form rather than the function.
This is a design problem and can be fixed with an increase in skill from the developer.
In other words, it is a barrier to entry for the very people the Internet was supposed to empower. Thank god The Priesthood of engineers is in charge again.
Guess what? It used to not take a "developer" to write a Web page!
4. Ummm, CSS files are downloaded once on the first time to the site and then kept locally for the rest of your visit to the site.
In other words, they must be re-downloaded *every day*. Any site you don't visit multiple times a day will include significant CSS drag.
No one knows about this as a feature.
Exactly.
Your problem is with the validation buttons
My problem is with the amount of time that must be spent thinking about markup instead of content, and the fact that a religous cult is trying to get perfectly productive Web developers to waste time learning new technology when the existing technology works better.
A easy way to browse all of the great designs of CSS Zen Garden is available at http://csszengarden.coret.org/