Cover image for Web Design in a Nutshell, 3rd Edition

Book description

Are you still designing web sites like it's 1999? If so, you're in for a surprise. Since the last edition of this book appeared five years ago, there has been a major climate change with regard to web standards. Designers are no longer using (X)HTML as a design tool, but as a means of defining the meaning and structure of content. Cascading Style Sheets are no longer just something interesting to tinker with, but rather a reliable method for handling all matters of presentation, from fonts and colors to the layout of the entire page. In fact, following the standards is now a mandate of professional web design.

Our popular reference, Web Design in a Nutshell, is one of the first books to capture this new web landscape with an edition that's been completely rewritten and expanded to reflect the state of the art. In addition to being an authoritative reference for (X)HTML and Cascading Style Sheets, this book also provides an overview of the unique requirements of designing for the Web and gets to the nitty-gritty of JavaScript and DOM Scripting, web graphics optimization, and multimedia production. It is an indispensable tool for web designers and developers of all levels.

The third edition covers these contemporary web design topics:

  • Structural layer: HTML 4.01 and XHTML 1.0 (9 chapters), including an alphabetical reference of all elements, attributes and character entities

  • Presentation layer: Ten all-new chapters on Cascading Style Sheets, Level 2.1, including an alphabetical reference of all properties and values.

  • Behavior layer: JavaScript and scripting with the Document Object Model (DOM)

  • Web environment: New web standards, browsers, display devices, accessibility, and internationalization

  • Web graphics optimization: Producing lean and mean GIF, JPEG, PNG, and animated GIFs

  • Multimedia: Web audio, video, Flash, and PDF

Organized so that readers can find answers quickly, Web Design in a Nutshell, Third Edition helps experienced designers come up to speed quickly on standards-based web design, and serves as a quick reference for those already familiar with the new standards and technology.

There are many books for web designers, but none that address such a wide variety of topics. Find out why nearly half a million buyers have made this the most popular web design book available.

Table of Contents

  1. Web Design in a Nutshell, 3rd Edition
  2. Foreword
  3. Contributors
  4. Technical Reviewers
    1. Lead Technical Editors
        1. Tantek Çelik
        2. Molly E. Holzschlag
    2. Technical Reviewers
  5. Preface
    1. What's in the Book
    2. Using Code Examples
    3. Conventions Used in This Book
    4. CSS Property Conventions
    5. How to Contact Us
    6. Safari® Enabled
    7. Acknowledgments
  6. I. The Web Environment
    1. 1. Web Standards
      1. 1.1. What Are Standards?
        1. 1.1.1. The Standards Process
        2. 1.1.2. A Bumpy Beginning
        3. 1.1.3. Standards Support Today
        4. 1.1.4. The Advantages of Standards
          1. 1.1.4.1. Accessibility
          2. 1.1.4.2. Forward compatibility
          3. 1.1.4.3. Simpler and faster development
          4. 1.1.4.4. Faster download and display
      2. 1.2. Current Web Standards
        1. 1.2.1. Structural Layer
        2. 1.2.2. Presentation Layer
        3. 1.2.3. Behavioral Layer
          1. 1.2.3.1. Object models
          2. 1.2.3.2. Scripting
        4. 1.2.4. Other XML-Based Technologies
      3. 1.3. Standards-Driven Design
        1. 1.3.1. Separate Presentation from Structure
        2. 1.3.2. Use a DOCTYPE Declaration
        3. 1.3.3. Validate Your Markup
      4. 1.4. For Further Reading
        1. 1.4.1. Books
        2. 1.4.2. Web Resources
    2. 2. Designing for a Variety of Browsers
      1. 2.1. Browser History
      2. 2.2. Browser Roll-Call
        1. 2.2.1. Microsoft Internet Explorer 6
        2. 2.2.2. Microsoft Internet Explorer 5 and 5.5 (Windows)
        3. 2.2.3. Microsoft Internet Explorer 5 (Macintosh)
        4. 2.2.4. Netscape Navigator 7
        5. 2.2.5. Netscape Navigator 4
        6. 2.2.6. Firefox 1.0
        7. 2.2.7. Opera 8.5
        8. 2.2.8. Safari
        9. 2.2.9. America Online
        10. 2.2.10. Lynx
      3. 2.3. Gathering Usage Statistics
        1. 2.3.1. Global Browser Statistics
        2. 2.3.2. Server Log Analysis
        3. 2.3.3. Targeted Statistics Consulting
      4. 2.4. Learning from Browser Statistics
        1. 2.4.1. What You Can Learn
          1. 2.4.1.1. Standards support
          2. 2.4.1.2. Dominance of Windows and Internet Explorer
          3. 2.4.1.3. Persistence of old browser versions
        2. 2.4.2. Browser Usage Trends
      5. 2.5. Dealing with Browser Differences
        1. 2.5.1. Document Authoring
        2. 2.5.2. Style Sheet Tactics
        3. 2.5.3. Programming
      6. 2.6. Know Your Audience
      7. 2.7. Test!
    3. 3. Designing for a Variety of Displays
      1. 3.1. Designing for Unknown Monitor Resolutions
        1. 3.1.1. Standard Monitor Sizes and Resolutions
        2. 3.1.2. Live Space in the Browser Window
      2. 3.2. Fixed Versus Liquid Web Pages
        1. 3.2.1. Liquid Layouts
          1. 3.2.1.1. Advantages and disadvantages of fluid web pages
          2. 3.2.1.2. Creating flexible pages
        2. 3.2.2. Fixed-Width Design
          1. 3.2.2.1. Advantages and disadvantages of fixed-width design
          2. 3.2.2.2. Creating fixed pages
          3. 3.2.2.3. Left-aligned or centered?
          4. 3.2.2.4. Pop-up and resized windows
        3. 3.2.3. Combination Pages
        4. 3.2.4. Choosing a Page Size
          1. 3.2.4.1. The statistics
          2. 3.2.4.2. Current practice
      3. 3.3. Designing "Above the Fold"
      4. 3.4. Mobile Devices
        1. 3.4.1. Mobile Display Resolution
        2. 3.4.2. Mobile Browsers
          1. 3.4.2.1. Support for standards
          2. 3.4.2.2. Adapting web content for small screens
        3. 3.4.3. Designing for Mobile Devices
          1. 3.4.3.1. Write clean HTML
          2. 3.4.3.2. Use media types
        4. 3.4.4. Online Resources
          1. 3.4.4.1. Mobile standards
          2. 3.4.4.2. Mobile browsers
          3. 3.4.4.3. Mobile device manufacturers
        5. 3.4.5. The Web on TV
    4. 4. A Beginner's Guide to the Server
      1. 4.1. Servers 101
        1. 4.1.1. Popular Server Software
        2. 4.1.2. Basic Server Functions
          1. 4.1.2.1. Web root directory
          2. 4.1.2.2. Index files
          3. 4.1.2.3. HTTP response header
        3. 4.1.3. Server-Side Programming
          1. 4.1.3.1. CGI (Common Gateway Interface)
          2. 4.1.3.2. ASP (Active Server Pages)
          3. 4.1.3.3. PHP
          4. 4.1.3.4. Java servlets and JSP
      2. 4.2. Unix Directory Structures
        1. 4.2.1. Absolute Pathnames
        2. 4.2.2. Relative Pathnames
          1. 4.2.2.1. Using relative pathnames in HTML
      3. 4.3. File Naming Conventions
      4. 4.4. Uploading Documents (FTP)
        1. 4.4.1. The FTP Process
        2. 4.4.2. Setting Permissions
      5. 4.5. File (MIME) Types
    5. 5. Accessibility
      1. 5.1. Types of Disabilities
      2. 5.2. Overview of Assistive Technology
        1. 5.2.1. Input Devices
        2. 5.2.2. Output Devices
      3. 5.3. Who Is Responsible for Accessibility?
      4. 5.4. Web Content Accessibility Guidelines
      5. 5.5. Web Content Accessibility Guidelines 2.0 (WCAG 2.0)
      6. 5.6. Standards Variations and Section 508
      7. 5.7. Web Accessibility Techniques
      8. 5.8. Testing for Accessibility
        1. 5.8.1. Testing by Developers
        2. 5.8.2. Expert Review
        3. 5.8.3. Testing with Users
        4. 5.8.4. Automated Testing Tools
    6. 6. Internationalization
      1. 6.1. Character Sets and Encoding
        1. 6.1.1. Unicode (ISO/IEC 10646-1)
          1. 6.1.1.1. Unicode code points
          2. 6.1.1.2. Unicode encodings
          3. 6.1.1.3. Choosing an encoding
        2. 6.1.2. Specifying Character Encoding
          1. 6.1.2.1. HTTP headers
          2. 6.1.2.2. XML declaration
          3. 6.1.2.3. The meta element
          4. 6.1.2.4. Choosing the declaration method
      2. 6.2. Character References
        1. 6.2.1. Numeric Character References
        2. 6.2.2. Character Entities
        3. 6.2.3. Escapes in CSS
      3. 6.3. Language Features
        1. 6.3.1. Language Specification
        2. 6.3.2. Language Values
        3. 6.3.3. Directionality
        4. 6.3.4. Cursive Joining Behavior
      4. 6.4. Style Sheets Language Features
      5. 6.5. For Further Reading
  7. II. The Structural Layer: XML and (X)HTML
    1. 7. Introduction to XML
      1. 7.1. XML Basics
        1. 7.1.1. Meaningful Markup
        2. 7.1.2. Text as Data, Data as Text
      2. 7.2. How It Works
        1. 7.2.1. XML Documents
        2. 7.2.2. Document Type Definition (DTD)
        3. 7.2.3. Style Sheets and XML
        4. 7.2.4. Parsers
      3. 7.3. XML Document Syntax
        1. 7.3.1. XML Declaration
        2. 7.3.2. Document Type Declaration
        3. 7.3.3. Comments
        4. 7.3.4. Processing Instructions
        5. 7.3.5. Entity References
      4. 7.4. Well-Formed XML
      5. 7.5. Document Type Definition (DTD)
        1. 7.5.1. Document Type Declarations
        2. 7.5.2. Valid XML
        3. 7.5.3. DTD Syntax
          1. 7.5.3.1. Element declarations
          2. 7.5.3.2. Attlist (attribute) declarations
          3. 7.5.3.3. Entity declarations
        4. 7.5.4. When to Use a DTD
      6. 7.6. XML Namespaces
      7. 7.7. XML on the Web
        1. 7.7.1. Browser Support
        2. 7.7.2. Viewing XML in Web Browsers
      8. 7.8. Web-Related XML Applications
        1. 7.8.1. XHTML (Extensible Hypertext Markup Language)
        2. 7.8.2. RSS (Really Simple Syndication or RDF Site Summary)
          1. 7.8.2.1. How it works
          2. 7.8.2.2. Trouble over an RSS standard
          3. 7.8.2.3. Enter Atom
          4. 7.8.2.4. For further reading
        3. 7.8.3. RDF (Resource Description Framework)
        4. 7.8.4. SVG (Scalable Vector Graphics)
        5. 7.8.5. SMIL (Synchronized Multimedia Integration Language)
          1. 7.8.5.1. How SMIL works
        6. 7.8.6. MathML (Mathematical Markup Language)
        7. 7.8.7. Other XML Applications
      9. 7.9. Where to Learn More
    2. 8. HTML and XHTML Overview
      1. 8.1. The Role of HTML
        1. 8.1.1. Starting with "Good" Markup
          1. 8.1.1.1. Write standards-compliant documents
          2. 8.1.1.2. Use semantic markup
          3. 8.1.1.3. Structure documents logically
          4. 8.1.1.4. Keep presentation separate from structure
      2. 8.2. Markup Basics
        1. 8.2.1. Elements
        2. 8.2.2. Attributes
        3. 8.2.3. Nested Elements
        4. 8.2.4. Information Browsers Ignore
      3. 8.3. Introduction to XHTML
        1. 8.3.1. The XHTML Family
          1. 8.3.1.1. XHTML 1.0
          2. 8.3.1.2. The Modularization of XHTML
          3. 8.3.1.3. XHTML Basic
          4. 8.3.1.4. XHTML 1.1
          5. 8.3.1.5. XHTML-Print
          6. 8.3.1.6. XHTML 2.0
        2. 8.3.2. Three Flavors of HTML 4.01 and XHTML 1.0
      4. 8.4. Which Standard Is Right for You?
      5. 8.5. Well-Formed XHTML
        1. 8.5.1. All-Lowercase Element and Attribute Names
        2. 8.5.2. Quoted Attribute Values
        3. 8.5.3. Element Termination
        4. 8.5.4. Empty Elements
        5. 8.5.5. Explicit Attribute Values
        6. 8.5.6. Nesting Requirements
        7. 8.5.7. Character Entities
        8. 8.5.8. Protecting Scripts
        9. 8.5.9. id and name Attributes
      6. 8.6. Web Authoring Tools
        1. 8.6.1. HTML/XHTML Editors
        2. 8.6.2. WYSIWYG Authoring Tools
      7. 8.7. Good Authoring Practices
    3. 9. Document Structure
      1. 9.1. Minimal Document Structure
      2. 9.2. Document Type Declaration
        1. 9.2.1. DTD Options
        2. 9.2.2. DOCTYPE Switching
          1. 9.2.2.1. Browser support
          2. 9.2.2.2. Making the switch
      3. 9.3. The Root Element
        1. Reference Section
            1. html
        2. 9.3.1. Namespace
        3. 9.3.2. Language
      4. 9.4. The Document Header
        1. Reference Section
            1. head
        2. 9.4.1. Titles
            1. title
        3. 9.4.2. Other Header Elements
        4. 9.4.3. Providing Meta Data
              1. meta
          1. 9.4.3.1. http-equiv
          2. 9.4.3.2. name
          3. 9.4.3.3. Identifying media type and character encoding
          4. 9.4.3.4. Using the meta element for client-pull
          5. 9.4.3.5. Other uses of http-equiv
          6. 9.4.3.6. meta names for search engines
      5. 9.5. The Document Body
        1. body
    4. 10. Text Elements
      1. 10.1. Choosing Text Elements
      2. 10.2. The Building Blocks of Content
        1. 10.2.1. Headings
          1. h1 through h6
        2. 10.2.2. Paragraphs
          1. p
        3. 10.2.3. Quotations (blockquote)
          1. blockquote
        4. 10.2.4. Preformatted Text
          1. pre
        5. 10.2.5. Addresses
          1. address
      3. 10.3. Inline Elements
        1. 10.3.1. Phrase Elements
            1. abbr, acronym, cite, code, dfn, em, kbd, samp, strong, var
          1. 10.3.1.1. Indicating emphasis
          2. 10.3.1.2. Acronyms and abbreviations
        2. 10.3.2. Short Quotations
          1. q
      4. 10.4. Deleted and Inserted Text
          1. del, ins
      5. 10.5. Generic Elements (div and span)
        1. 10.5.1. The Versatile div
          1. div
        2. 10.5.2. The Useful span
          1. span
        3. 10.5.3. Element Identifiers (class and id)
          1. 10.5.3.1. id identifier
          2. 10.5.3.2. class identifier
          3. 10.5.3.3. Tips on using class
      6. 10.6. Lists
        1. 10.6.1. Unordered Lists
            1. ul
            2. li
          1. 10.6.1.1. Unordered list syntax
          2. 10.6.1.2. Unordered list presentation
        2. 10.6.2. Ordered Lists
            1. ol
        3. 10.6.3. Definition Lists
            1. dl
            2. dd
            3. dt
        4. 10.6.4. Nesting Lists
      7. 10.7. Presentational Elements
        1. 10.7.1. Font Elements
          1. font
          2. basefont
        2. 10.7.2. Subscript and Superscript
          1. sub, sup
        3. 10.7.3. Line Breaks
          1. br
        4. 10.7.4. Word Wrapping
        5. 10.7.5. Horizontal Rules
          1. hr
      8. 10.8. Character Entity References
    5. 11. Creating Links
      1. 11.1. Simple Hypertext Links
        1. Reference Section
          1. a
        2. 11.1.1. Absolute URLs
        3. 11.1.2. Relative URLs
        4. 11.1.3. Establishing a base
            1. base
      2. 11.2. Linking Within a Document
        1. 11.2.1. Naming a Fragment
        2. 11.2.2. Linking to a Fragment
        3. 11.2.3. Linking to a Fragment in Another Document
      3. 11.3. Targeting Windows
      4. 11.4. Alternative Protocols
        1. 11.4.1. Mail Link (mailto:)
        2. 11.4.2. FTP Link (ftp://)
        3. 11.4.3. Other Links
      5. 11.5. Linking Documents with link
          1. link
    6. 12. Images and Objects
      1. 12.1. Inline Images
        1. Reference Section
          1. img
        2. 12.1.1. Image Formats and Usage
        3. 12.1.2. img Element Syntax
          1. 12.1.2.1. Default presentation
          2. 12.1.2.2. Alternative text
        4. 12.1.3. Specifying Width and Height
        5. 12.1.4. Deprecated img Attributes
          1. 12.1.4.1. Vertical alignment
          2. 12.1.4.2. Horizontal alignment
          3. 12.1.4.3. Adding space around aligned images
          4. 12.1.4.4. Stopping text wrap
          5. 12.1.4.5. Borders
        6. 12.1.5. Image Loading Techniques
          1. 12.1.5.1. Reuse images whenever possible
          2. 12.1.5.2. Link to large images
      2. 12.2. Image Maps
        1. 12.2.1. Creating Image Maps
          1. 12.2.1.1. Available tools
          2. 12.2.1.2. Creating the map
        2. 12.2.2. Client-Side Image Maps
            1. map
            2. area
          1. 12.2.2.1. Sample client-side image map
        3. 12.2.3. Server-Side Image Maps
      3. 12.3. Embedded Media
        1. 12.3.1. The object Element
            1. object
            2. param
          1. 12.3.1.1. Specifying data and type
          2. 12.3.1.2. Specifying an implementation
          3. 12.3.1.3. Adding parameters
          4. 12.3.1.4. Providing alternate content
          5. 12.3.1.5. Cross-browser compatibility
        2. 12.3.2. The embed Element
            1. embed
          1. 12.3.2.1. noembed
              1. noembed
          2. 12.3.2.2. Using embed
      4. 12.4. Java Applets
        1. 12.4.1. Where to Get Applets
        2. 12.4.2. Adding an Applet to a Page
            1. applet
          1. 12.4.2.1. Adding applets with applet
          2. 12.4.2.2. Adding applets with object
      5. 12.5. Inline (Floating) Frames
          1. iframe
    7. 13. Tables
      1. 13.1. Table Uses
        1. 13.1.1. Data Tables
        2. 13.1.2. Layout Tables
      2. 13.2. Basic Table Structure
        1. 13.2.1. Rows and Cells
            1. table
            2. tr
            3. td
        2. 13.2.2. Spanning Rows and Columns
          1. 13.2.2.1. Column span
          2. 13.2.2.2. Row span
        3. 13.2.3. Descriptive Elements
          1. 13.2.3.1. Table headers
              1. th
          2. 13.2.3.2. Captions
              1. caption
      3. 13.3. Row Groups
          1. thead, tbody, tfoot
      4. 13.4. Columns and Column Groups
          1. col
          2. colgroup
      5. 13.5. Table Presentation
        1. 13.5.1. Table Cell Spacing
          1. 13.5.1.1. Cell spacing
          2. 13.5.1.2. Cell padding
          3. 13.5.1.3. CSS alternatives
        2. 13.5.2. Table and Cell Dimensions
          1. 13.5.2.1. CSS alternative
        3. 13.5.3. Borders
          1. 13.5.3.1. CSS alternative
        4. 13.5.4. Cell Content Alignment
          1. 13.5.4.1. Horizontal alignment
          2. 13.5.4.2. Vertical alignment
          3. 13.5.4.3. CSS alternatives
        5. 13.5.5. Backgrounds
      6. 13.6. Accessible Tables
        1. 13.6.1. Table Metadata
        2. 13.6.2. Table Headers
        3. 13.6.3. Associating Headers with Data
          1. 13.6.3.1. Scope
          2. 13.6.3.2. ID and headers
      7. 13.7. Responsible Layout Tables
        1. 13.7.1. Stick to Basic Table Elements
        2. 13.7.2. Keep It Simple and Lightweight
        3. 13.7.3. Use Style Sheets for Presentation
        4. 13.7.4. Check for Linearization
    8. 14. Frames
      1. 14.1. Introduction to Frames
        1. 14.1.1. Advantages
        2. 14.1.2. Disadvantages
      2. 14.2. Basic Frameset Structure
        1. Reference Section
            1. frameset
        2. Reference Section
          1. frame
        3. 14.2.1. Alternate Content
            1. noframes
        4. 14.2.2. Establishing Rows and Columns
          1. 14.2.2.1. Specifying sizes
          2. 14.2.2.2. Combining rows and columns
        5. 14.2.3. Nesting Frames
      3. 14.3. Frame Function and Appearance
        1. 14.3.1. Scrolling
        2. 14.3.2. Disabling Resize
        3. 14.3.3. Frame Margins
        4. 14.3.4. Frame Borders
          1. 14.3.4.1. Turning borders on and off
          2. 14.3.4.2. Border thickness
      4. 14.4. Targeting Frames
        1. 14.4.1. The base Element
        2. 14.4.2. Reserved Target Names
      5. 14.5. Frame Design Tips and Tricks
        1. 14.5.1. All-Purpose Pages
        2. 14.5.2. External Links
        3. 14.5.3. Improving Frame Accessibility
          1. 14.5.3.1. Give frames titles
          2. 14.5.3.2. Provide complete noframes content
        4. 14.5.4. Helping Search Engines
    9. 15. Forms
      1. 15.1. The Basic Form Element
        1. Reference Section
            1. form
        2. 15.1.1. The action Attribute
        3. 15.1.2. The method Attribute
        4. 15.1.3. Encoding
      2. 15.2. Form Controls
        1. 15.2.1. Input Controls
            1. input
          1. 15.2.1.1. Text entry field
              1. input type="text"
          2. 15.2.1.2. Password text entry
              1. input type="password"
          3. 15.2.1.3. Hidden entry (type="hidden")
              1. input type="hidden"
          4. 15.2.1.4. Checkbox (type="checkbox")
              1. input type="checkbox"
          5. 15.2.1.5. Radio button
              1. input type="radio"
          6. 15.2.1.6. Submit and reset buttons
              1. input type="submit"
              2. input type="reset"
          7. 15.2.1.7. Custom button
              1. input type="button"
          8. 15.2.1.8. Image button
              1. input type="image"
          9. 15.2.1.9. File selection
              1. input type="file"
        2. 15.2.2. Multiline Text Areas
            1. textarea
        3. 15.2.3. Creating Menus with the select Element
            1. select
            2. option
            3. optgroup
          1. 15.2.3.1. Pull-down menus
          2. 15.2.3.2. Scrolling menus
          3. 15.2.3.3. Option groups
        4. 15.2.4. Buttons
            1. button
      3. 15.3. Accessibility Features
        1. 15.3.1. Labels
            1. label
        2. 15.3.2. fieldset and legend
            1. fieldset
            2. legend
        3. 15.3.3. accesskey and tabindex
        4. 15.3.4. title Attribute
      4. 15.4. disabled and readonly
      5. 15.5. Affecting Form Appearance
        1. 15.5.1. Styling Form Controls with CSS
        2. 15.5.2. Aligning Form Elements
          1. 15.5.2.1. Layout tables
          2. 15.5.2.2. CSS-only alignment
  8. III. The Presentation Layer: Cascading Style Sheets
    1. 16. Cascading Style Sheets Fundamentals
      1. 16.1. CSS in a Nutshell
      2. 16.2. The Benefits of CSS
      3. 16.3. How CSS Works
      4. 16.4. Rule Syntax
      5. 16.5. Adding Styles to a Document
        1. 16.5.1. Inline Styles
        2. 16.5.2. Embedded Style Sheets
            1. style
        3. 16.5.3. External Style Sheets
          1. 16.5.3.1. Style sheet content
          2. 16.5.3.2. Using link
          3. 16.5.3.3. Importing
        4. 16.5.4. CSS for Other Media
      6. 16.6. Key Concepts
        1. 16.6.1. Document Structure and Inheritance
          1. 16.6.1.1. The parent-child relationship
          2. 16.6.1.2. Inheritance
        2. 16.6.2. Conflicting Style Rules: The Cascade
          1. 16.6.2.1. Style sheet origin
          2. 16.6.2.2. Selector specificity
          3. 16.6.2.3. Rule order
        3. 16.6.3. Block and Inline Elements
        4. 16.6.4. Introduction to the Box Model
      7. 16.7. Specifying Values
        1. 16.7.1. Length Units
        2. 16.7.2. Specifying Color
          1. 16.7.2.1. By name
          2. 16.7.2.2. By RGB value
        3. 16.7.3. Percentage Values
        4. 16.7.4. Keyword Values
      8. 16.8. Browser Support
      9. 16.9. For Further Reading
        1. 16.9.1. Books
        2. 16.9.2. Online Resources
          1. 16.9.2.1. Inspirational CSS showcase sites
          2. 16.9.2.2. Informative personal sites
    2. 17. Selectors
      1. 17.1. Type (Element) Selector
      2. 17.2. Contextual Selectors
        1. 17.2.1. Descendant Selector
        2. 17.2.2. Child Selector
        3. 17.2.3. Adjacent Sibling Selector
      3. 17.3. Class and ID Selectors
        1. 17.3.1. class Selector
        2. 17.3.2. id Selector
      4. 17.4. Attribute Selectors
      5. 17.5. Pseudoselectors
        1. 17.5.1. Pseudoclasses
          1. 17.5.1.1. Anchor pseudoclasses
          2. 17.5.1.2. Other CSS 2.1 pseudoclasses
        2. 17.5.2. Pseudoelements
        3. 17.5.3. Selector Summary
    3. 18. Font and Text Properties
      1. 18.1. Typography on the Web
        1. 18.1.1. Font Issues
        2. 18.1.2. Type Size Issues
        3. 18.1.3. Alternatives to Browser Text
          1. 18.1.3.1. Text in graphics
          2. 18.1.3.2. Image-replacement techniques
          3. 18.1.3.3. sIFR text
          4. 18.1.3.4. Embedded fonts
      2. 18.2. Font Family
        1. Reference Section
          1. font-family
        2. 18.2.1. Generic Font Families
        3. 18.2.2. Commonly Available Fonts
      3. 18.3. Font Size
        1. Reference Section
          1. font-size
        2. 18.3.1. Absolute Versus Relative Sizes
        3. 18.3.2. Absolute Size Keywords
        4. 18.3.3. Relative Size Keywords
        5. 18.3.4. Percentage Measurements
        6. 18.3.5. Length Measurements
          1. 18.3.5.1. The problem with absolute values
          2. 18.3.5.2. The problem with pixels
          3. 18.3.5.3. The problem with ems
      4. 18.4. Other Font Settings
        1. 18.4.1. Font Weight
            1. font-weight
        2. 18.4.2. Font Style
            1. font-style
        3. 18.4.3. Font Variant
            1. font-variant
        4. 18.4.4. Putting It All Together with the font Property
            1. font
        5. 18.4.5. Using System Fonts
      5. 18.5. Text Transformation (Capitalization)
          1. text-transform
      6. 18.6. Text Decoration
          1. text-decoration
      7. 18.7. Line Height
        1. Reference Section
          1. line-height
        2. 18.7.1. Calculating Line Height
      8. 18.8. Text Alignment Properties
        1. 18.8.1. Indents
            1. text-indent
        2. 18.8.2. Horizontal Alignment
            1. text-align
        3. 18.8.3. Vertical Alignment
            1. vertical-align
          1. 18.8.3.1. Aligning relative to the baseline
          2. 18.8.3.2. Aligning relative to text height
          3. 18.8.3.3. Aligning relative to line height
          4. 18.8.3.4. Aligning with percentage values
      9. 18.9. Text Spacing
        1. 18.9.1. Letter Spacing
            1. letter-spacing
        2. 18.9.2. Word Spacing
            1. word-spacing
        3. 18.9.3. Whitespace
            1. white-space
      10. 18.10. Text Direction
          1. direction
          1. unicode-bidi
    4. 19. Basic Box Properties
      1. 19.1. The Box Model, Revisited
        1. 19.1.1. Inline Boxes
      2. 19.2. Width and Height
        1. Reference Section
          1. height
        2. Reference Section
          1. width
        3. 19.2.1. Maximum and Minimum Heights
            1. max-width, max-height
            2. min-width, min-height
      3. 19.3. Margins
        1. Reference Section
          1. margin-top, margin-right, margin-bottom, margin-left
        2. Reference Section
          1. margin
        3. 19.3.1. The Shorthand margin Property
        4. 19.3.2. Margin Behavior
      4. 19.4. Borders
        1. 19.4.1. Border Style
            1. border-top-style, border-right-style, border-bottom-style, border-left-style
            2. border-style
        2. 19.4.2. Border Width (Thickness)
            1. border-top-width, border-right-width, border-bottom-width, border-left-width
            2. border-width
        3. 19.4.3. Border Color
            1. border-top-color, border-right-color, border-bottom-color, border-left-color
            2. border-color
        4. 19.4.4. Combining Style, Width, and Color
            1. border-top, border-right, border-bottom, border-left
            2. border
      5. 19.5. Padding
          1. padding-top, padding-right, padding-bottom, padding-left
          2. padding
    5. 20. Color and Backgrounds
      1. 20.1. Foreground Color
        1. Reference Section
          1. color
        2. 20.1.1. Color Values
      2. 20.2. Background Color
          1. background-color
      3. 20.3. Background Images
        1. Reference Section
          1. background-image
        2. 20.3.1. Background Tiling (Repeat)
            1. background-repeat
        3. 20.3.2. Background Position
            1. background-position
          1. 20.3.2.1. Keyword positioning
          2. 20.3.2.2. Length measurements
          3. 20.3.2.3. Percentage values
          4. 20.3.2.4. Positioning repeating images
        4. 20.3.3. Background Attachment
            1. background-attachment
        5. 20.3.4. Combining Background Properties
            1. background
    6. 21. Floating and Positioning
      1. 21.1. Normal Flow
      2. 21.2. Floating
        1. Reference Section
          1. float
        2. 21.2.1. Floating Basics
        3. 21.2.2. Floating Behavior
        4. 21.2.3. Negative Margins and Overlap
        5. 21.2.4. Clearing
            1. clear
      3. 21.3. Positioning Basics
        1. 21.3.1. Types of Positioning
            1. position
        2. 21.3.2. Containing Blocks
        3. 21.3.3. Specifying Position
            1. top, right, bottom, left
        4. 21.3.4. Handling Overflow
            1. overflow
        5. 21.3.5. Clipping Areas
            1. clip
        6. 21.3.6. Visibility
            1. visibility
        7. 21.3.7. Stacking Order
            1. z-index
      4. 21.4. Absolute Positioning
        1. 21.4.1. Absolute Positioning and Containing Blocks
        2. 21.4.2. Calculating Position
      5. 21.5. Fixed Positioning
      6. 21.6. Relative Positioning
    7. 22. CSS for Tables
      1. 22.1. The Essence of Tables
        1. 22.1.1. Rows and Columns
        2. 22.1.2. Internal Table Elements
        3. 22.1.3. Table Captions
            1. caption-side
        4. 22.1.4. Stacking Order
      2. 22.2. Styling Tables
      3. 22.3. Borders
        1. Reference Section
          1. border-collapse
        2. 22.3.1. The Separated Borders Model
            1. border-spacing
            1. empty-cells
        3. 22.3.2. The Collapsing Border Model
          1. 22.3.2.1. Border pecking order
      4. 22.4. Table Layout (Width and Height)
        1. Reference Section
          1. table-layout
        2. 22.4.1. Fixed-Width Layout
        3. 22.4.2. Automatic Layout
      5. 22.5. Table Display Values
        1. Reference Section
          1. display
        2. 22.5.1.
          1. 22.5.1.1. Anonymous table elements
    8. 23. Lists and Generated Content
      1. 23.1. CSS for Lists
        1. 23.1.1. Choosing a Marker
            1. list-style-type
        2. 23.1.2. Marker Position
            1. list-style-position
        3. 23.1.3. Make Your Own Bullets
            1. list-style-image
        4. 23.1.4. list-style Shorthand Property
            1. list-style
        5. 23.1.5. List-item Display
      2. 23.2. Generated Content
        1. 23.2.1. Inserting Generated Content
            1. content
        2. 23.2.2. Quotation Marks
            1. quotes
        3. 23.2.3. Automatic Numbering and Counters
            1. counter-reset
            1. counter-increment
    9. 24. CSS Techniques
      1. 24.1. Centering a Page
      2. 24.2. Two-Column Layouts
        1. 24.2.1. Using Floats
        2. 24.2.2. Using Absolute Positioning
        3. 24.2.3. More Two-Column Layouts
      3. 24.3. Three-Column Layouts
        1. 24.3.1. Floating Three Columns
        2. 24.3.2. Absolute Three-Column Positioning
          1. 24.3.2.1. Positioning the sidebars
          2. 24.3.2.2. Positioning three columns
          3. 24.3.2.3. Centering with borders and margins
      4. 24.4. Boxes with Rounded Corners
        1. 24.4.1. Simple Rounded Box
        2. 24.4.2. Fancier Boxes
      5. 24.5. Image Replacement
        1. 24.5.1. The Original (FIR)
        2. 24.5.2. Leahy/Langridge Image Replacement (LIR)
        3. 24.5.3. The Rundle/Phark Technique
        4. 24.5.4. The Gilder/Levin Method
        5. 24.5.5. Which Should You Use?
      6. 24.6. CSS Rollovers
        1. 24.6.1. Text Rollovers
        2. 24.6.2. Image Rollovers
          1. 24.6.2.1. Rollovers without preloading
      7. 24.7. List-Based Navigation Bars
        1. 24.7.1. Inline List Items
        2. 24.7.2. Floated List Items
        3. 24.7.3. More List and Tabbed Navigation Tutorials
      8. 24.8. CSS Techniques Resources
    10. 25. Managing Browser Bugs: Workarounds, Hacks, and Filters
      1. 25.1. Working with "Troubled" Browsers
      2. 25.2. The Browsers
        1. 25.2.1. Netscape Navigator 4.x
        2. 25.2.2. Internet Explorer 5.x on Windows
        3. 25.2.3. Internet Explorer 5.x on Macintosh
        4. 25.2.4. Internet Explorer 6
        5. 25.2.5. The Mozilla Family (Mozilla, Firefox, and Netscape)
        6. 25.2.6. Safari
        7. 25.2.7. Opera
      3. 25.3. Hack and Workaround Management 101
  9. IV. The Behavioral Layer: JavaScript and the DOM
    1. 26. Introduction to JavaScript
      1. 26.1. A Little Background
      2. 26.2. Using JavaScript
        1. 26.2.1. JavaScript Dos and Don'ts
        2. 26.2.2. Implementation Methods
      3. 26.3. JavaScript Syntax
        1. 26.3.1. Statements
        2. 26.3.2. Comments
        3. 26.3.3. Variables
        4. 26.3.4. Data Types
          1. 26.3.4.1. Strings
          2. 26.3.4.2. Numbers
          3. 26.3.4.3. Booleans
          4. 26.3.4.4. Arrays
        5. 26.3.5. Operators
          1. 26.3.5.1. Arithmetic operators
          2. 26.3.5.2. Comparison operators
        6. 26.3.6. Control Structures
          1. 26.3.6.1. Conditional statements
          2. 26.3.6.2. Loops
          3. 26.3.6.3. switch
          4. 26.3.6.4. Functions
        7. 26.3.7. Objects
      4. 26.4. Event Handling
      5. 26.5. The Browser Object
      6. 26.6. Where to Learn More
    2. 27. DOM Scripting
      1. 27.1. A Sordid Past
      2. 27.2. Out of the Dark Ages
      3. 27.3. The DOM
      4. 27.4. Manipulating Documents with the DOM
        1. 27.4.1. Finding Your Way Around
        2. 27.4.2. Reading and Manipulating Document Structure
          1. 27.4.2.1. innerHTML
          2. 27.4.2.2. nodeValue
          3. 27.4.2.3. getAttribute()/setAttribute( )
        3. 27.4.3. Creating Document Structure
          1. 27.4.3.1. createElement( )
          2. 27.4.3.2. createTextNode( )
          3. 27.4.3.3. appendChild( )
          4. 27.4.3.4. insertBefore( )
          5. 27.4.3.5. replaceChild( )
          6. 27.4.3.6. removeChild( )
          7. 27.4.3.7. cloneNode( )
      5. 27.5. Working with Style
        1. 27.5.1. Resources
      6. 27.6. DOM Scripting in Action
        1. 27.6.1. Example 1: Style Sheet Switcher
        2. 27.6.2. Example 2: Page Glossary
      7. 27.7. Supplement: Getting Started with Ajax
        1. 27.7.1. Example 1: Ajax with innerHTML
        2. 27.7.2. Example 2: Ajax with Nodes
        3. 27.7.3. Ajax Resources
  10. V. Web Graphics
    1. 28. Web Graphics Overview
      1. 28.1. Web Graphic File Formats
        1. 28.1.1. GIF (Graphic Interchange Format)
        2. 28.1.2. JPEG (Joint Photographic Experts Group)
        3. 28.1.3. PNG (Portable Network Graphic)
        4. 28.1.4. Choosing the Right Format
      2. 28.2. Image Resolution
        1. 28.2.1. Image Size
        2. 28.2.2. Good Bye Inches, Hello Pixels
      3. 28.3. Color on the Web
        1. 28.3.1. RGB Color
        2. 28.3.2. Color Depth
          1. 28.3.2.1. Truecolor (24- or 32-bit)
          2. 28.3.2.2. Highcolor (15- or 16-bit)
          3. 28.3.2.3. Indexed color (8-bit)
        3. 28.3.3. The Web Palette
          1. 28.3.3.1. The web palette growing obsolete
          2. 28.3.3.2. The web palette in numbers
          3. 28.3.3.3. Designing with the web palette
        4. 28.3.4. Gamma (Monitor Brightness)
      4. 28.4. Web Graphics Production Tips
        1. 28.4.1. Use Web Graphics Tools
        2. 28.4.2. Keep File Sizes Small
        3. 28.4.3. Work in RGB Mode
        4. 28.4.4. Resize Images with Care
        5. 28.4.5. Use Anti-Aliased Text
        6. 28.4.6. Matching Web Colors
          1. 28.4.6.1. Inline and background colors on 16-bit monitors
          2. 28.4.6.2. Adjacent GIFs and JPEGs
        7. 28.4.7. For Further Reference
    2. 29. GIF Format
      1. 29.1. 8-Bit Indexed Color
      2. 29.2. LZW Compression
      3. 29.3. Interlacing
      4. 29.4. Transparency
        1. 29.4.1. Creating Transparent GIFs
        2. 29.4.2. Preventing "Halos"
          1. 29.4.2.1. Use aliased edges
          2. 29.4.2.2. Use the Matte color tool
      5. 29.5. Minimizing GIF File Sizes
        1. 29.5.1. Design Strategically
          1. 29.5.1.1. Limit dimensions
          2. 29.5.1.2. Design with flat color
        2. 29.5.2. Use Optimization Tools
          1. 29.5.2.1. Reduce the number of colors (bit depth)
          2. 29.5.2.2. Limit dithering
          3. 29.5.2.3. Play with the "Loss" setting
          4. 29.5.2.4. Weighted optimization (Photoshop/ImageReady)
          5. 29.5.2.5. Optimize to a File Size function (Photoshop/ImageReady)
      6. 29.6. Designing GIFs with the Web Palette
        1. 29.6.1. Should You Worry About the Web Palette?
        2. 29.6.2. Selecting Web-Safe Colors
        3. 29.6.3. Converting to the Web Palette
        4. 29.6.4. Web Palette Strategies
          1. 29.6.4.1. Flat graphical images
          2. 29.6.4.2. Photographic images
          3. 29.6.4.3. Combination images (flat and photographic areas)
    3. 30. JPEG Format
      1. 30.1. 24-Bit Color
      2. 30.2. JPEG Compression
        1. 30.2.1. Image Loss
        2. 30.2.2. Variable Compression Levels
        3. 30.2.3. JPEG Decompression
      3. 30.3. Progressive JPEGs
      4. 30.4. Creating JPEGs
      5. 30.5. Minimizing JPEG File Size
        1. 30.5.1. Aggressive Compression Ratios
        2. 30.5.2. "Optimized" JPEGs
        3. 30.5.3. Softening the Image for Better Compression
        4. 30.5.4. Weighted Optimization (Photoshop/ImageReady)
        5. 30.5.5. Selective Quality (Fireworks)
        6. 30.5.6. Optimize to File Size (Photoshop/ImageReady)
    4. 31. PNG Format
      1. 31.1. When to Use PNGs
        1. 31.1.1. Potential GIF Substitute
        2. 31.1.2. Not a JPEG Substitute
        3. 31.1.3. For Multiple Levels of Transparency
      2. 31.2. PNG Features
        1. 31.2.1. 8-bit Palette, Grayscale, and Truecolor
          1. 31.2.1.1. 8-bit palette images
          2. 31.2.1.2. Grayscale
          3. 31.2.1.3. Truecolor
        2. 31.2.2. PNG Compression
          1. 31.2.2.1. Filters
        3. 31.2.3. Transparency
          1. 31.2.3.1. Alpha channel transparency
          2. 31.2.3.2. 8-bit transparency
        4. 31.2.4. Progressive Display (Interlacing)
        5. 31.2.5. Gamma Correction
        6. 31.2.6. Embedded Text
      3. 31.3. Platform/Browser Support
      4. 31.4. Creating PNG Files
        1. 31.4.1. Adobe Photoshop/ImageReady
          1. 31.4.1.1. Saving as PNG
          2. 31.4.1.2. PNG transparency in Photoshop/ImageReady
        2. 31.4.2. Macromedia Fireworks
          1. 31.4.2.1. Exporting PNG files
          2. 31.4.2.2. PNG transparency in Fireworks
      5. 31.5. PNG Optimization Strategies
      6. 31.6. For Further Reading
    5. 32. Animated GIFs
      1. 32.1. How They Work
      2. 32.2. Using Animated GIFs
      3. 32.3. Tools
        1. 32.3.1. Applications That Include GIF Animation Tools
        2. 32.3.2. GIF Animation Utilities
      4. 32.4. Creating Animated GIFs
        1. 32.4.1. Frame Delay
        2. 32.4.2. Transparency
        3. 32.4.3. Disposal Methods
        4. 32.4.4. Color Palette
        5. 32.4.5. Other Options
        6. 32.4.6. Starting Points
      5. 32.5. Optimizing Animated GIFs
        1. 32.5.1. Image Compression
        2. 32.5.2. Optimizing Methods
  11. VI. Media
    1. 33. Audio on the Web
      1. 33.1. Basic Digital Audio Concepts
      2. 33.2. Using Existing Audio
        1. 33.2.1. Copyright Restrictions
        2. 33.2.2. Royalty-Free Audio Resources
      3. 33.3. Preparing Your Own Audio
        1. 33.3.1. Recording
        2. 33.3.2. Basic Sound Editing and Effects
          1. 33.3.2.1. Cross-platform audio tools
          2. 33.3.2.2. Windows audio tools
          3. 33.3.2.3. Mac audio tools
        3. 33.3.3. Optimizing for the Web
      4. 33.4. Streaming Audio
        1. 33.4.1. Streaming File Formats
        2. 33.4.2. Server Software and Protocols
        3. 33.4.3. Pseudostreaming
      5. 33.5. Audio Formats
        1. 33.5.1. WAV/AIFF (.wav, .aif, .aiff)
        2. 33.5.2. MP3 (.mp3)
          1. 33.5.2.1. MPEG compression
          2. 33.5.2.2. Creating MP3s
          3. 33.5.2.3. Serving MP3s
        3. 33.5.3. Apple QuickTime Audio (.mov)
        4. 33.5.4. MIDI (.mid)
        5. 33.5.5. RealMedia/RealAudio (.rm, .ra)
        6. 33.5.6. Windows Media (.wma, .asf)
        7. 33.5.7. AAC (.m4a, .m4p, .mp4)
      6. 33.6. Choosing an Audio Format
      7. 33.7. Adding Audio to a Web Page
        1. 33.7.1. A Simple Link
        2. 33.7.2. Background Sound
        3. 33.7.3. Adding RealMedia
          1. 33.7.3.1. Linking to RealMedia (external player)
          2. 33.7.3.2. Embedding RealPlayer on the page
        4. 33.7.4. Adding Windows Media
    2. 34. Video on the Web
      1. 34.1. Basic Digital Video Concepts
      2. 34.2. Compression
        1. 34.2.1. Lossless Versus Lossy Compression
        2. 34.2.2. Spatial Versus Temporal Compression
        3. 34.2.3. Video Codecs
      3. 34.3. Video File Formats
        1. 34.3.1. Windows Media (.wmv or .asf)
        2. 34.3.2. QuickTime Movie (.mov)
          1. 34.3.2.1. Streaming
          2. 34.3.2.2. Creating QuickTime movies
          3. 34.3.2.3. Reference movies
          4. 34.3.2.4. For more information
        3. 34.3.3. RealMedia (.rm)
        4. 34.3.4. AVI (.avi)
        5. 34.3.5. MPEG (.mpg or .mpeg)
        6. 34.3.6. Which Format to Choose
      4. 34.4. Adding Video to an HTML Document
        1. 34.4.1. A Simple Link
        2. 34.4.2. Streaming Video
          1. 34.4.2.1. Windows Media
          2. 34.4.2.2. RealMedia
        3. 34.4.3. Embedded QuickTime Movies
          1. 34.4.3.1. Attributes and parameters
          2. 34.4.3.2. Special QuickTime attributes
        4. 34.4.4. Embedding Windows Media
          1. 34.4.4.1. Browser support
    3. 35. The Flash Platform
      1. 35.1. Using Flash on Web Pages
        1. 35.1.1. Advantages
        2. 35.1.2. Disadvantages
      2. 35.2. Creating Flash Movies
        1. 35.2.1. File Formats
        2. 35.2.2. Flash Interface Basics
        3. 35.2.3. Optimizing Flash Movies
        4. 35.2.4. Configuring the Server
      3. 35.3. ActionScript
        1. 35.3.1. ActionScript 1.0
        2. 35.3.2. ActionScript 2.0
      4. 35.4. Adding Flash to a Web Page
        1. 35.4.1. Using Flash Publish Settings
        2. 35.4.2. Using object and embed
          1. 35.4.2.1. The object element
          2. 35.4.2.2. The embed element
          3. 35.4.2.3. Putting it together for all browsers
      5. 35.5. Integrating Flash with Other Technologies
        1. 35.5.1. Flash and QuickTime
        2. 35.5.2. Flash and Director
        3. 35.5.3. Flash and Dreamweaver
      6. 35.6. The Flash Player
        1. 35.6.1. Flash Player Versions
        2. 35.6.2. Flash Power Tools
      7. 35.7. Flash Resources
    4. 36. Printing from the Web
      1. 36.1. Browser Print Mechanisms
      2. 36.2. Cascading Style Sheets for Print
        1. 36.2.1. Creating the Style Sheets
        2. 36.2.2. Targeting Media with Style Sheets
          1. 36.2.2.1. Linking to media-dependent style sheets
          2. 36.2.2.2. Using two embedded style sheets
          3. 36.2.2.3. @import rule
          4. 36.2.2.4. @media rule
        3. 36.2.3. Considerations for Print Style Sheets
          1. 36.2.3.1. Think about content
          2. 36.2.3.2. Text and backgrounds
          3. 36.2.3.3. Width and margins
          4. 36.2.3.4. Handle your hypertext
      3. 36.3. Portable Document Format (PDF)
        1. 36.3.1. Viewing PDF Files
        2. 36.3.2. Creating PDF Files
          1. 36.3.2.1. Adobe Acrobat
          2. 36.3.2.2. Fast Web view
          3. 36.3.2.3. Alternatives to Acrobat
        3. 36.3.3. Adding PDF Files to Web Pages
          1. 36.3.3.1. Linking to a PDF file
          2. 36.3.3.2. Tips for linking to PDF files
          3. 36.3.3.3. Embedding a PDF file
      4. 36.4. Flash Printing
  12. VII. Appendixes
    1. A. HTML Elements and Attributes
      1. A.1. Common Attributes and Events
        1. a
        2. abbr
        3. acronym
        4. address
        5. applet
        6. area
        7. b
        8. base
        9. basefont
        10. bdo
        11. big
        12. blockquote
        13. body
        14. br
        15. button
        16. caption
        17. center
        18. cite
        19. code
        20. col
        21. colgroup
        22. dd
        23. del
        24. dfn
        25. dir
        26. div
        27. dl
        28. dt
        29. em
        30. embed
        31. fieldset
        32. font
        33. form
        34. frame
        35. frameset
        36. h1, h2, h3, h4, h5, h6
        37. head
        38. hr
        39. html
        40. i
        41. iframe
        42. img
        43. input
        44. ins
        45. isindex
        46. kbd
        47. label
        48. legend
        49. li
        50. link
        51. map
        52. menu
        53. meta
        54. noembed
        55. noframes
        56. noscript
        57. object
        58. ol
        59. optgroup
        60. option
        61. p
        62. param
        63. pre
        64. q
        65. s
        66. samp
        67. script
        68. select
        69. small
        70. span
        71. strike
        72. strong
        73. style
        74. sub
        75. sup
        76. table
        77. tbody
        78. td
        79. textarea
        80. tfoot
        81. th
        82. thead
        83. title
        84. tr
        85. tt
        86. u
        87. ul
        88. var
    2. B. CSS 2.1 Properties
      1. B.1. Visual Media
        1. background
        2. background-attachment
        3. background-color
        4. background-image
        5. background-position
        6. background-repeat
        7. border
        8. border-bottom
        9. border-bottom-color
        10. border-bottom-style
        11. border-bottom-width
        12. border-collapse
        13. border-color
        14. border-left
        15. border-left-color
        16. border-left-style
        17. border-left-width
        18. border-right
        19. border-right-color
        20. border-right-style
        21. border-right-width
        22. border-spacing
        23. border-style
        24. border-top
        25. border-top-color
        26. border-top-style
        27. border-top-width
        28. border-width
        29. bottom
        30. caption-side
        31. clear
        32. clip
        33. color
        34. content
        35. counter-increment
        36. counter-reset
        37. cursor
        38. direction
        39. display
        40. empty-cells
        41. float
        42. font
        43. font-family
        44. font-size
        45. font-style
        46. font-variant
        47. font-weight
        48. height
        49. left
        50. letter-spacing
        51. line-height
        52. list-style
        53. list-style-image
        54. list-style-position
        55. list-style-type
        56. margin
        57. margin-bottom
        58. margin-left
        59. margin-right
        60. margin-top
        61. max-height
        62. max-width
        63. min-height
        64. min-width
        65. outline
        66. outline-color
        67. outline-style
        68. outline-width
        69. overflow
        70. padding
        71. padding-bottom
        72. padding-left
        73. padding-right
        74. padding-top
        75. position
        76. quotes
        77. right
        78. table-layout
        79. text-align
        80. text-decoration
        81. text-indent
        82. text-transform
        83. top
        84. unicode-bidi
        85. vertical-align
        86. visibility
        87. white-space
        88. width
        89. word-spacing
        90. z-index
      2. B.2. Paged Media
        1. orphans
        2. page-break-after
        3. page-break-before
        4. page-break-inside
        5. widows
      3. B.3. Aural Styles
          1. azimuth
          2. cue
          3. cue-after
          4. cue-before
          5. elevation
          6. pause
          7. pause-after
          8. pause-before
          9. pitch
          10. pitch-range
          11. play-during
          12. richness
          13. speak
          14. speak-header
          15. speak-numeral
          16. speak-punctuation
          17. speech-rate
          18. stress
          19. voice-family
          20. volume
    3. C. Character Entities
      1. C.1. ASCII Character Set
      2. C.2. Nonstandard Entities (‚-Ÿ)
      3. C.3. Latin-1 (ISO-8859-1)
      4. C.4. Latin Extended-A
      5. C.5. Latin Extended-B
      6. C.6. Spacing Modifier Letters
      7. C.7. Greek
      8. C.8. General Punctuation
      9. C.9. Letter-like Symbols
      10. C.10. Arrows
      11. C.11. Mathematical Operators
      12. C.12. Miscellaneous Technical Symbols
      13. C.13. Geometric Shapes
      14. C.14. Miscellaneous Symbols
    4. D. Specifying Color
      1. D.1. Specifying Color by RGB Values
        1. D.1.1. The Hexadecimal System
          1. D.1.1.1. Converting decimal to hexadecimal
          2. D.1.1.2. Hexadecimal values for web palette colors
        2. D.1.2. RGB Colors in CSS
        3. D.1.3. RGB Colors in HTML
      2. D.2. Specifying Colors by Name
        1. D.2.1. Standard Color Names
        2. D.2.2. CSS Extended Color Names
    5. E. Microformats: Extending (X)HTML
      1. E.1. Extending HTML 4 and XHTML
      2. E.2. Semantic Class Names
        1. E.2.1. Publishing Contact Information with hCard
        2. E.2.2. Publishing Events with hCalendar
      3. E.3. Link Relationships
        1. E.3.1. XHTML Friends Network
        2. E.3.2. Other Link Relationships
      4. E.4. More Microformats
  13. Glossary
  14. About the Author
  15. Colophon
  16. Copyright