It is required that you have a working knowledge of HTML and Javascript prior to reading this book, as it is designed around the much more advanced topic of CSS/DHTML. People with little knowledge of Javascript should get a Javascript tutorial (I recommend SAM's teach yourself...) first.
Mr. Cranford-Teague has taken the trouble to explain both the documented use and the real-world implementation of CSS. He has taken away much of the testing that is often required when designing against the CSS2 specification. (He makes mistakes so you don't have to!) His quick reference appendix of what-style-elements-work-where should be the most heavily thumbed pages of any book in your HTML design library.
The book is a quick, delightful read with clear, textbook-class examples of every aspect of every CSS specification out there, along with a perfect cross-browser Javascript model that should be the industry standard.
The book is small, and cheap enough to keep up with the latest browser platforms. I own all three versions, and so do all my associate developers!
The DHTML section is short on foundations and uses object-oriented code without explaining how or why that aspect works. It embodies the worst of the Visual Quickstart Guide format: cursory descriptions (at best) for the first appearance of a bit of code, then it glosses over every subsequent use with not even a reminder. Thus it's not a good choice for someone new to Javascript or programming, and those who are familiar with Javascript and web design would probably choose another method over the bloated, API-style programming in this book.
If you're mostly interested in using Javascript's styles object in concert with CSS, this is a poor choice. Peachpit's Javascript book is easier to use and more in tune with web standards.
The navigation scripts he provides shows his complete grasp of both CSS and javascript. Unlike the examples in sites like javascriptkit.com and dynamicdrive.com which are written by javascript gurus, JCT's scripts are hybrid models of both advanced CSS and javascript. The code and mark-up combination are so tightly written, it is absolutely necessary that every web developer gets this book. You won't find code like this anywhere else on the web!
Also, JCT provides excellent examples of code that shows the new directions taken by the Mozilla development team. He reveals a way of making rounded corners using only a few lines of CSS, and no graphics.
My one caveat is that the editors of JCT's 3rd edition did a piss-poor job of copy-checking. On the second chapter, one of the paragraphs in the tips section is duplicated word-for-word. And on page 105, the example is missing a period, thereby making it completely useless unless you spot the mistake. These are only the ones I spotted as I flipped through the book -- I am certain there are many more errors. Buyer beware!
The next night I went to a different bookstore to find some ASP manuals. While there, I noticed another book on CSS so I added it to my ASP pile.
When I got home and started reading DHTML and CSS by Mr. Teague, I found it was not only easy to understand, it was delightful to read. It was better than having a friendly person sitting next to me in a hands-on session. This is the first computer manual that I can say this about, and I have a small library.
As it turns out, by accident I bought two copies of the book - I was rushing the second time because the store was closing. I've decided to keep one copy downstairs handy in my computer room and the other upstairs by my bed to browse before sleep.
If you have a chance, pick the book up and look inside. It's so easy to use it's actually fun. You need to know HTML and be familiar with JavaScript, which the author alerts you about. I'm looking forward to getting this book grubby.
Once I got past the CSS section of this book, the author's definitions and explanations became cryptic and the tips consist of heavy criticism of Netscape and Microsoft. The website is a good start to supporting a book with syntax errors that doesn't indicate when it is referring to literals or when there is a space in something, or not. Personally, I would have preferred the CD.
This book is very good for CSS. However, it is not worth the price if more than half the book is not easily understandable to the person reading it with no previous experience in the language and its a waste of valuable time trying to understand it.
That's where this book succeeds - the examples are precise and to the point. I get more knowledge out of this book that I would in say a "for dummies" book that's triple the size; that's how effective it is for beginners, as well as a very handy reference for those more experienced programmers.
JavaScript is the engine that makes DHTML work, but there is very little coverage of JavaScript basics in this book. Teague apparently assumes the reader knows basic JavaScript. So, he focuses his efforts on explaining the Document Object Model (DOM) that allows JavaScript to interact with web pages, and how to use the DOM to accomplish various tasks.
One shortcoming of the book is that it devotes inordinate attention to legacy web browser issues. At one time, there were three different DOMs (Microsoft, Netscape, and W3C, a standards organization). The current generation of browswers have fallen in line behind the W3C, and its DOM has emerged as the dominant model for DHTML pages. Teague spends many pages explaining how to address these legagy DOMs, which makes the discussion longer and more complicated than it really needs to be.
Be aware that Teague misuses the term 'DOM'. He talks of 'creating a DOM' every time one gets a reference to an object on an HTML page. The DOM is actually created by the browser when it loads the page. We access the DOM to get an object reference. I personally found Teague's use of the term very confusing, and that steepened the DHTML learning curve for me.
Teague's JavaScript code is very difficult to decipher, which is surprising in a book that is apparently targeted to web designers. One would expect simple, clear code that non-programmers could follow. Instead, the code violates a number of good programming practices--variable names are generally not descptive, and program logic is often knotted up in a tangle of nested 'if' statements. The drop-down menu code in Chapter 24 provides a good example of these problems.
But the biggest problem stems from a simple lack of formatting of the code. Teague prefers the older style of packing as many statements as possible on a single line--the code reads like a 'C' program from twenty years ago. In order to decipher the code, one must first unpack the lines to spread out the code, then apply proper indentation to figure out which 'else' statements are nested within which 'if' statements. That's a tedious, time-consuming, and very avoidable exercise.
I'd recommend this book for its exposition of CSS, and I'd give it a 'pretty good' rating for its handling of the DOM. But if you are diving into DHTML, use this book to get your feet wet. Then find a good JavaScript book to learn the ins and outs of manipulating the DOM and adding client-side interaction to your web pages.
Excellent.
But that's only half the book - the author then goes on with a great introduction to Dynamic HTML, again in his clear, concise style.
By the end of the book, you should easily be up on the next plateau with your CSS and DHTML skills.
I didn't mind the low price, either.
The book has helped me, but I'd rather have one in which I can trust. I don't want to run into any more problems which cause me a lot of research to help me decide whose problem I'm dealing with.
This book is a great example of great intent gone very, very wrong. It's just too rough around the edges to serve as a decent reference, and unless you just like reading a book cover-to-cover for the thrill of turning pages and not actually getting any knowledge whatsoever, you'll probably want to pass on this one.
The saddest thing is that I haven't found a decent CSS reference out there (not that I've searched that thoroughly) that really walks through topics like cross-browser issues, best-practices and design considerations in a readable format. Just goes to show that even a mediocre book w/ a really good index can still be usable. Unfortunately "DHTML and CSS" can't even claim that honor.
I just can't believe I bought this book.
Since I own over 20 Visual Quickstart Guide titles, I feel qualified to rank DHTML & CSS for the WWW by Jason Cranford Teague among the top 5 best-of-series, right up there with Elizabeth Castro's HTML 3.2 & 4.0, Castro's PERL & CGI for the WWW, Debra and Eric Ray's UNIX, and lastly, I'll cheat by treating PHOTOSHOP 4, 5, 5.5 and 6 as one book because of the consistent and informative efforts by authors, Elaine Weinmann and Peter Lourekas. (I hear the DREAMWEAVER 4.0 by J. Tarin Powers is pretty awesome as well!) In my experience, all, but for a couple of marginal misfires, are excellent.
Be forewarned, however, the Visual Quickstart books are not project or tutorial driven. These are the books to use AFTER you've cut your teeth on the application tutorial-- when you're out there in the REAL webdev world, building stuff, even if it's your first time. These books are worth 100 times their weight in gold! Think of a cookbook where brevity is key and success is guaranteed if you follow each step as directed.
Anyway, enough free advertising for Peachpit Press and back to DHTML & CSS by Jason Teague! The writing is clear and concise. All of the style and script examples are useful immediately and relevant in the real world of webdev. Each step of every script or style is prefaced by referenced snippets of code so you know exactly where you are in any particular script, which can sometimes be pages long.
Teague is also a master at anticipating problems you might encounter when deploying some of his examples. So, he includes on-the-spot browser-compatibility info, helpful hints and browser-specific workarounds, just in case woeful rendering in a misbehaving browser gives you fits! (and because he probably doesn't want to invite litigation for property damage when you throw a brick at your computer out of frustration when you can't get a script to execute properly in say, Netscape V4.715367894508061182745? Or a stylesheet doesn't render as you intended in Opera V2.0 or Explorer V3.0-if at all!!!)
Another credit to the author is that he never leaves out steps relying on the happenstance that his readers maintain a preconceived level of knowledge about what might be considered obvious (which is all relative anyway, depending upon whether the reader is left or right-brain hard-wired!). He shows respect for his readers by leaving nothing to chance, while appealing to all levels of audience technical capability.
In short, it doesn't matter whether you are a newbie or a seasoned coder. You WILL find a treasure trove of useful information and a bountiful number of useful scripts and style examples for just about anything interactive you could ever hope to add to your web site. GUARANTEED!
And, now? TA-DAH!!! I saved the best for last! The prized characteristic of this book? When you need to zero in on a particular task, style or script, the index is magnificent! The subject, phrase or task you are looking for in the index corresponds directly to a page containing the information you need. So when you go to the page noted in the index, THE INFORMATION IS REALLY THERE--FIRST TIME AROUND!!! No guessing games or a dozen hit-and-miss trips back to the index to unlock some kind of elusive clue or national security clearance code known only to the author, that reveals the secret location of the information you seek, the exposure of which carries the obligatory condition of having to kill you! The index, on its own merit, is quite the workhorse that more than justifies the modest cost of the book in time saved, BEFORE you ever key in the first character of code!
No, I'm not a representative for Peachpit Press, nor do I play one on TV!!! I'm just a hardworking web developer trying to keep up with ever-changing technology in the blazing speed of internet time. Anyone who contributes to the shortening of my learning curve is my best friend for life! Thanks, Jason. Your book rocks!!
I like the book - it was pitched at the level I needed; - competent coding HTML and basic JS - but shaky with CSS.
It starts with detailed look at CSS - controlling and modifying html tags at tag, page and site level.
I found this section a model of clarity - very well explained and laid out.
Addresses numerous areas where the CSS can add power and flexibility to the formatting of a web site. Clearly explains the "cascading" nature of style sheets, and the class, id, tag modification, and contextual selectors - all of which were somewhat mysterious to me beforehand, in spite of already using and creating some of them via editors. Would be especially good for someone just starting to look at these.
Consistent lay out in the book helps you scan for the relevant attributes for the CSS keywords -I will use the book as a reference as well.
It then proceeds to introduce the interplay between JavaScript and CSS in DHTML.
This is done carefully with detailed examination of cross browser issues. It explains the differences in document object model used by different browsers, including NS6. It provides and explains generic code to help alleviate cross browser incompatibility and to identify and use the relevant DOM, including "feature sensing" and "browser sensing".
This is clear enough that it can be followed in detail, or just implemented by downloading the templates and examples on the companion web site.
The examples proceed from rollovers, layer manipulation, to navigation systems - drop down links, expanding breadcrumbs and other nav systems. I was familiar with similar scripts for all these but had never seen them explained so thoroughly in the context of CSS and cross browser Javascript.
There is more in here I haven't digested yet about dynamically adding CSS rules
Also succinctly surveys some other aspects of the web (Flash, SVG, XML, XHTML) and summarises some s/w (eg Dreamweaver) and graphic manipulation issues.
It has some self confessed "gimmicks" as well - swirling text, moving pictures, "fridge magnets" etc.
Good index of further resources at the end.
Companion web site contains lots of examples, all the code, and prebuilt (but customisable) nav systems etc -scripts are clear enough to easily modify.
I like the fact that cross browser issues are consistently and thoroughly addressed.
There is a lot of well presented technical info in here on CSS, good DHTML code and examples, sound cross browser stuff, some good design advice, bug info, lots of hints and cautions, and interesting reading - so yeah, I liked it.