About the Cover Image Designer
PART ONE INTRODUCTION: DIGESTING THE WEB'S ALPHABET SOUP
Chapter 1 Markup Underpins CSS
The linguistics of markup languages
XML dialects: the many different flavors of content
RSS and Atom: content syndication formats
SVG: vector-based graphics in XML
User agents: our eyes and ears in cyberspace
Understanding users and their agents
Why giving the user control is not giving up
Abstracting content's presentation with CSS
The nature of output: grouping output with CSS media types
Considerations for targeting media types
Feature detection via CSS media queries
Complementing semantics with CSS
Chapter 2 CSS Fundamentals for Advanced use
Origins of a style sheet and the CSS cascade
User agent style sheets (default browser styles)
User style sheet support in web browsers
Attributes and characteristics of author style sheets
External and embedded style sheets
Naming and specifying media and character encoding details
Selectors: from simple to complex to surgical
URI references: the url() function
Color functions: rgb(), rgba(), hsl(), and hsla()
Generated content functions: attr() and counter()
Basic math for computing lengths: the calc() function
Visual rendering and formatting concepts
CSS box models: content-box model vs. border-box model
PART TWO ADVANCED CSS IN PRACTICE
Chapter 3 CSS-Generated Content
Generating content :before or :after any element
Exposing metadata through the CSS attr() function
Replacing content with pseudo-content
Limitations on styling CSS-generated content
Understanding escape sequences in CSS strings
Advanced list styling: marker boxes and numbering
Using built-in marker box styles
Replacing marker boxes with custom images
Manipulating the marker box's position
Positioning marker boxes outside or inside normal document flow
Marker offsets and marker pseudo-elements
Automatic numbering using CSS-generated counters
Atypical numbering: counting backward, skipping numbers, counting with letters, and more
Numbering groups of elements and their siblings
Counter scope: exposing structure with nested counters
Chapter 4 OPtimizing for Print
Linking to print styles in HTML
Targeting print styles using @media
Targeting print styles using @import
Inserting and avoiding page breaks
Establishing a page size with @page
Setting @page margins with :left, :right, and :first pseudo-classes
Future of CSS print style sheets
Chapter 5 Developing for Small Screens and the Mobile Web
The limitations and challenges of mobile web development
Reduced and unpredictable screen sizes
Varied interaction paradigms and usability implications
Reduced technology options and limited technical capabilities
Limited bandwidth and higher latency
Competing, overlapping, and incompatible technologies
A brief history of mobile web technology
A brief overview of mobile browsers
Opera Mobile and Opera Mini (Presto)
Mobile Safari and Android (WebKit)11
Comparing browsers and displays
Formatting a page for handheld media
Establishing color and typography
Styling links to be touch-friendly
Using CSS selectors in JavaScript
WebKit CSS transforms and transitions
Chapter 6 Managing and Organizing Style Sheets
Using CSS features as architecture
Applying multiple style sheets to a page
Classical inheritance schemes for style sheets
Defining design relationships using selector groups
Taking advantage of inheritance
Organizing from broad to specific
Avoid overusing arbitrary <div> elements, IDs, or classes
Dividing style sheets into logical sections
Dividing design principles into files
Use the shortest URL that works
Good code formatting conventions
Techniques for intra-team communication
Persistent, preferred, and alternate style sheets
PART THREE CSS PATTERNS AND ADVANCED TECHNIQUES
Chapter 7 Semantic Patterns for Styling Common Design Components
Markup patterns and common authoring conventions
The evolution of markup conventions
Microformats: reusing markup patterns and adding semantics
RDFa: adding extensible vocabularies to semantic markup
Opportunities and benefits of semantics for CSS developers
Chapter 8 Using a Style Sheet Library
Leveling the playing field: “resetting CSS”
Chapter 9 Styling XML with CSS
Putting the X back in eXtensible
Extending XHTML through namespaces
Styling namespaces in Internet Explorer
Making an Atom feed more presentable
Chapter 10 optimizing CSS for Performance
Optimize to lower bandwidth usage and costs
Optimizing with CSS shorthand, selector groups, and inheritance
Avoid universal selectors or lengthy descendant selectors
Prefer <link> elements over @import rules
Compressing, combining, and minifying style sheets
Avoid CSS expressions and filters
Reference external CSS instead of inline styles
Use absolute or fixed positioning on animated elements
Diagnostic tools for CSS performance
WebKit Web Inspector network timeline
Reflow and repaint timers and visualizers
Chapter 11 Exploring the Emergence of CSS3
Using vendor extensions and “beta” features
CSS3 attribute matching selectors
E:enabled, E:disabled, and E:checked
Typographic effects and web fonts
Animations, transitions, and transforms
Chapter 12 The Future of CSS and the Web
Influences, tensions, and competitors to CSS