This book was written with a single goal: to make Cascading Style Sheets (CSS) easy to learn, understand, and use. Of course, there is much more to this goal than meets the eye. Trying to translate tersely defined algorithms into comprehensible English isn't always as easy as it sounds.
In my work on this book, I found myself crawling through the various nooks and crannies of CSS, creating test suites, and banging my head against myriad problems, not to mention the aforementioned web browser limitations. Along the way, I encountered a number of people whom I'd like to thank.
First, of course, are Håkon Wium Lie of Opera Software and Bert Bos of the W3C for their efforts in creating Cascading Style Sheets, and for answering many of my questions on the www-style mailing list, even the foolish ones. I'd also like to thank Chris Lilley, also of the W3C, for encouraging my attempts to help make the web more stylish. His words of praise for some of my earliest efforts came at exactly the right moment to spur me on, and it was he who made it possible for me to join the World Wide Web Consortium's CSS&FP Working Group.
Tim O'Reilly took a big chance in giving me my first shot at a major professional publication, for which I will always be grateful. My editor at O'Reilly, Richard Koman, was more than patient with me during the writing process, and I probably should have shown my gratitude by sending in more rough drafts. Tara McGoldrick, also of O'Reilly, was a great help in sorting out figures, smoothing out communications, and generally making my life much easier. Dale Dougherty of Songline Studios gave me my first real break into professional writing, and Chuck Toporek (now at O'Reilly) was my long-suffering first editor at Web Review, managing to weather my totally random article submission schedule with good grace. My friend and colleague Peter Murray was gracious enough to contribute some of his time and expertise to assist me in the creation of one of the Case Studies, and Ron Ryan gets a gold star and a whole bucket of "attaboys" for being the best supervisor I've ever known.
The gang from the Usenet group comp.infosystems.www.authoring.stylesheets has been a huge help over the years, both in answering questions and providing feedback. Within that group, Todd Fahrner, Alan Flavell, Anthony Boyd, and Jan Roland Eriksson have been generally clueful and helpful, and Sue Sims deserves special mention for being just as helpful plus willing to assist (and occasionally defend) someone she'd never met -- namely, me. Ian Hickson and David Baron deserve thanks for not only being as expert on the subject of CSS as anyone else I know, but also for applying their raw energy to interpreting the specification, ferreting out browser bugs, and generally being helpful in spreading the CSS gospel. Their comments and insights were extraordinarily helpful in the writing of this work.
And, of course, a hearty "hikeeba!" to the CSS Samurai: Todd Fahrner, Liam Quin, David Baron, Ian Hickson, Sue Sims, Jan Roland Eriksson, John Alsopp, and Braden McDaniel. Yes, many of those names are repeats. What can I say? It's a small web.
Please note that none of these people should be blamed for any errors contained herein. They should instead be credited for helping me correct a vast number of mistakes, even if they didn't always know they were doing so.
At this point, I believe it's appropriate for me to thank Tim Berners-Lee for inventing the World Wide Web. I don't know Tim, and he doesn't know me, but it's pretty much required that authors of books related to the Web thank Tim for his fundamental contribution. I think this might actually be an international law by now; call it the Berners Convention.
Before we go any further, let's see what happens when we add box properties to inline elements.
And, finally, personal thanks to: Michelle, for being a friend through thick and thin; Randy, who has always gladly been both teacher and confidant; Steve, who helped me survive college and the years succeeding it; Dave, for all the years of making me laugh, especially when I most needed it, and for being the voice of sanity when I least expected it; and Tina, who helped me to stand when I wanted to stay down.
I'd also like to thank my wonderful wife, Kathryn, for her boundless support and for meritorious valor in putting up with me, particularly when my deadlines loomed, and for her inexhaustible belief in me and my abilities; and humble thanks to my parents, Art and Carol, and my sister, Julie, all of whom have always been there for me and never did learn to tell me when to quit. Well, guys, I guess it's too late now.
Thanks for everything.
Eric A. Meyer
23 February 2000
Copyright © 2002 O'Reilly & Associates. All rights reserved.For example, if you have an address book document stored in an XML file, created on a Mac, that you would like to share with someone who has a PC, you can simply email them the plain text address book XML document. This cant be done with binary encoded information which is totally platform (and program) dependent.
Another example is web enabling legacy systems. It is very feasible to create a Java web ennoblement application server that simply uses the services provided by the underlying legacy system. Instead of rewriting the legacy system, if the system can be made to communicate results and parameters through XML, the new and old system can work together without throwing away a company's investment in the legacy system.
By making the W3C the keeper of the XML standard, it ensures that no one vendor should be able to cause interoperability problems to occur between systems that use the open standard. This should be reassuring to most companies making an investment in this technology, by being vendor neutral, this solution proposes to keep even small companies out of reach of big companies choosing to change the standards on them. For example, if a big company chooses to change the platform at its whim, then most other companies relying on that platform suffer. By keeping all data in XML and using XML in communications protocols, companies can maximize the lifetime of their investment in their products and solutions.