Home Page Icon
Home Page
Table of Contents for
About the Technical Reviewer
Close
About the Technical Reviewer
by Inayaili de León, Antony Kennedy
Pro CSS for High Traffic Websites
Copyright
Foreword
About the Authors
About the Technical Reviewer
Acknowledgments
Preface
Background Information
Who Is This Book For?
What Will I Learn?
Why Is This Book Different From Others?
Separation of Concerns
Data
Presentation
Behavior
Front-End Development Is Full of Exceptions
1. The Value of Process
1.1. The Team
1.2. Getting Too Big for Your Boots
1.3. High Staff Churn Rate
1.4. Consistency Is More Important than Quality
1.5. Tools
1.5.1. Wikis
1.5.1.1. MediaWiki
1.5.1.2. Atlassian Confluence
1.5.1.3. Mac OS X Server Wiki
1.5.1.4. Trac
1.5.2. Bug Reporting
1.5.2.1. Lighthouse
1.5.2.2. BugZilla
1.5.2.3. Atlassian JIRA
1.5.2.4. Trac
1.5.3. Task Management
1.5.3.1. Things
1.5.3.2. Rally
1.5.3.3. Mingle
1.5.4. Bug Tracking and Task Management
1.5.4.1. Atlassian JIRA (with Green Hopper plugin)
1.5.4.2. Agilo
1.5.4.3. FogBugz
1.5.5. Source Control
1.5.5.1. Visual SourceSafe (VSS)
1.5.5.2. Concurrent Versions System (CVS)
1.5.5.3. Subversion (SVN)
1.5.5.4. Git
1.5.5.5. Mercurial
1.5.5.6. Graphical User Interfaces
1.5.5.7. Using Version Control Systems
1.5.6. Diff Tools
1.5.6.1. Araxis Merge
1.5.6.2. WinDiff
1.5.6.3. WinMerge
1.5.6.4. Beyond Compare
1.5.6.5. Changes
1.5.6.6. Kaleidoscope
1.5.7. Resolving Conflicts
1.6. Backup
1.6.1. Online Backup
1.6.2. Desktop Backup
1.7. Prototyping
1.8. Development Methodologies
1.8.1. Waterfall Development
1.8.2. Agile Development
1.8.2.1. Test-Driven Development
1.8.2.2. Code Refactoring
1.8.2.3. Continuous Integration
1.8.2.4. Pair Programming
1.8.2.5. Planning Poker
1.8.2.6. Code Reviews
1.8.2.7. Daily Standup Meetings
1.8.2.8. Retrospectives
1.9. Summary
2. CSS Style Guide
2.1. CSS Style Guides
2.2. CSS Formatting
2.2.1. Single- versus Multiline
2.2.2. Indenting
2.2.3. Tabs versus Spaces
2.2.4. Colons and Semicolons
2.3. Commenting and CSS Metadata
2.3.1. Existing Standards: CSSDOC
2.3.2. File Info
2.3.3. Table of Contents
2.3.4. Sectioning
2.3.5. Color Palettes
2.3.6. Folder Paths
2.3.7. Measurements
2.3.8. Document Hacks and Bug Fixes
2.3.9. Using a Template
2.4. Class and ID Naming
2.4.1. Semantics
2.4.2. Accepted Characters
2.4.3. Conventions
2.4.4. Case
2.4.4.1. Camel Case
2.4.4.2. Hyphenated
2.5. Namespacing
2.5.1. Reusable Classes
2.5.2. CSS Namespaces Module
2.6. Summary
3. Fundamentals
3.1. The Cascade: Origin, Importance, and Inheritance
3.1.1. Origin and Importance
3.1.2. Inheritance
3.1.3. Inheritance and the Universal Selector
3.2. Specificity
3.2.1. Calculating Specificity
3.2.2. The !important Declaration
3.2.3. Namespacing and Specificity
3.2.4. Using Your Tools
3.3. Encoding
3.4. Localization
3.5. Browser-Specific CSS
3.5.1. Hacks and Filters
3.5.1.1. The Box Model Hack
3.5.1.2. The Underscore Hack
3.5.1.3. The Star Hack
3.5.1.4. The Star Html Hack, IE4-6
3.5.1.5. The Child Selector Hack
3.5.1.6. The Commented Backslash Hack
3.5.1.7. A Necessary Evil
3.5.2. CSS Expressions
3.5.3. Vendor-Specific Extensions
3.5.4. Media Queries
3.5.5. Conditional Comments
3.5.5.1. Conditional Comments in the html Element
3.6. When and How to Use Hacks
3.6.1. "Safe" Hacks
3.6.2. The Real World
3.7. Server-Side User Agent Detection
3.8. Some Examples of Browser Rendering Differences
3.8.1. Quirks Mode
3.8.1.1. Some Quirks
3.8.1.2. Almost Standards Mode
3.8.2. The IE Box Model
3.8.3. hasLayout
3.8.4. Experimental CSS
3.9. Summary
4. Frameworks and Integration
4.1. Frameworks
4.1.1. Blueprint CSS
4.1.2. 960 Grid System
4.1.3. YUI 3 Grids
4.1.4. Alternative Uses
4.1.5. Reset Style Sheets
4.1.5.1. Universal Selector Reset
4.1.5.2. Eric Meyer's Reset
4.1.5.3. YUI 3 CSS Reset
4.1.5.4. Other Reset Examples
4.1.5.5. Starting From a Common Ground with Clever Defaults
4.1.6. Why Create Your Own Framework?
4.2. Object Oriented CSS
4.2.1. Object Oriented Programming
4.2.2. OOCSS
4.3. Overriding CSS
4.4. Playing Nicely with Third-Party Code
4.5. Defensive CSS
4.6. Fragile CSS
4.7. Metadata in CSS
4.8. Summary
5. Brand Implementation
5.1. What Is a Brand?
5.2. Brand Style Guides
5.2.1. Guidelines Evolve
5.2.2. Design Libraries
5.3. Typography
5.3.1. Image Replacement versus Flexibility
5.3.2. Font-face
5.3.3. Fallback Fonts
5.3.4. Units
5.4. Color
5.4.1. Multiple Color Schemes
5.4.2. Color Reference
5.4.3. Dynamic Colors
5.4.4. Fallback Colors
5.5. Layout
5.5.1. Grids
5.5.2. Templates
5.6. Themes
5.7. Flexible CSS and Brand Evolution
5.8. Summary
6. CSS and Accessibility
6.1. Impairment Problems Overview
6.1.1. Partial Sightedness
6.1.2. Blindness
6.1.3. Colorblindness
6.1.4. Motor Impairment
6.1.5. Hearing Disabilities
6.1.6. Cognitive Impairment
6.1.7. Young Age
6.1.8. Old Age
6.1.9. Epilepsy
6.2. Accessibility Guidelines
6.2.1. What's the Law?
6.3. Assistive Technologies
6.3.1. Screen Readers
6.3.2. Hiding Content with CSS
6.3.3. Keyboard-Only Users
6.3.4. Other Assistive Devices
6.4. Design and Layout
6.4.1. Color
6.4.2. Fonts and Units
6.4.3. Web-fonts and Dyslexia
6.4.4. User Customization
6.4.5. Style Switchers
6.5. WAI-ARIA
6.6. Device and Environment Impairments
6.7. Progressive Enhancement or Graceful Degradation?
6.7.1. Can CSS3 Be Harmful?
6.8. Graded Browser Support (GBS)
6.9. Summary
7. Devices
7.1. Media Types
7.1.1. all
7.1.2. braille
7.1.3. embossed
7.1.4. handheld
7.1.5. print
7.1.6. oprojection
7.1.7. screen
7.1.8. speech
7.1.9. tty
7.1.10. tv
7.2. Media Queries
7.2.1. width
7.2.2. height
7.2.3. device-width
7.2.4. device-height
7.2.5. orientation
7.2.6. aspect-ratio
7.2.7. device-aspect-ratio
7.2.8. color
7.2.9. color-index
7.2.10. monochrome
7.2.11. resolution
7.2.12. scan
7.2.13. grid
7.2.14. transform-2d
7.2.15. transform-3d
7.2.16. transition
7.2.17. animation
7.3. Modernizr
7.4. Print Style Sheets
7.4.1. Controlling Page Breaks
7.5. Mobile Devices
7.5.1. Another Website
7.5.2. Use Media Queries to Target Mobile Devices
7.5.3. Build an App Instead
7.6. Other Devices
7.7. Search Engine Optimization (SEO)
7.8. Summary
8. Performance
8.1. The Payload—Worry About File Size
8.1.1. Naming Conventions
8.1.2. File Names
8.1.3. Folder Structure
8.1.4. Syntax
8.1.4.1. Whitespace
8.1.4.2. The Last Semicolon
8.1.4.3. Background Colors
8.1.4.4. Zeroes and Units
8.1.4.5. Cancelling Borders
8.1.4.6. Zeros and Decimal Places
8.1.4.7. Margin/Padding Shorthand
8.1.4.8. Colors
8.1.4.9. Minimizing Image Sizes
8.1.4.9.1. GIF (Graphics Interchange Format)
8.1.4.9.2. JPEG (Joint Photographic Experts Group)
8.1.4.9.3. PNG (Portable Network Graphics)
8.1.5. Minifying
8.1.6. Compression
8.1.7. Apache
8.1.8. Microsoft IIS (Internet Information Services)
8.1.9. Content Distribution Networks (CDNs) and Domains
8.1.10. Having Fewer Requests Is More Important than File Size
8.1.11. Domain Name Server (DNS) Lookup
8.1.12. Connecting
8.1.13. Sending
8.1.14. Waiting
8.1.15. Receiving
8.1.16. Concatenation
8.1.17. CSS Sprites
8.2. Data URIs (Uniform Resource Indicators)
8.3. Caching
8.4. What Should We Cache?
8.5. Versioning
8.6. What About Offline Storage?
8.7. Rendering and Parsing
8.8. Changing Properties via JavaScript
8.9. Animation
8.10. Hardware Acceleration
8.11. Summary
9. Dynamic CSS
9.1. CSS Extensions and Preprocessors
9.2. LESS
9.2.1. Variables
9.2.2. Mixins
9.2.3. Nested Rules
9.2.4. Operations
9.2.5. Color Functions
9.2.6. Namespaces
9.2.7. Commenting
9.2.8. Importing
9.2.9. Conclusion
9.3. Sass
9.2.10. Variables
9.2.11. Nested Selectors
9.2.12. Conditional Logic
9.2.13. Looping
9.2.14. Commenting
9.2.15. Accessors
9.2.16. Mixins
9.2.17. Colors
9.2.18. Importing
9.5.19. Conclusion
9.4. Evaluating Third-Party Technologies
9.5. Serving CSS with Server-Side Technologies
9.6. Continuous Integration (CI)
9.7. Clever Build Scripts
9.8. Caching Considerations
9.9. Summary
10. Testing and Debugging
10.1. Fast Development
10.1.1. Build Scripts that Concatenate CSS
10.1.2. Build Scripts that Compress CSS
10.1.3. Pages That Don't Like to be Refreshed or Time Out Frequently
10.1.4. Cached Files
10.1.5. Internet Explorer Bugs
10.2. Debugging
10.2.1. Firebug (Firefox)
10.2.2. Web Developer (Firefox or Chrome)
10.2.3. Developer Tools (Internet Explorer 8)
10.2.4. Web Inspector (Safari)
10.2.5. Developer Tools (Chrome)
10.2.6. Internet Explorer Developer Toolbar
10.2.7. Opera Dragonfly
10.3. Proxy Tools
10.3.1. Fiddler
10.3.2. Charles
10.4. Testing
10.4.1. Graded Browser Support
10.4.2. Running Multiple Versions of Internet Explorer
10.4.3. Emulating Other Devices
10.4.4. Automatically Generating Screenshots
10.4.4.1. Selenium
10.4.4.2. Browsershots
10.4.4.3. Browsercam
10.5. Summary
11. Creating Your CSS
11.1. Igloo Refrigerator Parts Inc. Website
11.2. Analyzing the Design
11.2.1. The Grid
11.2.2. Reusable Components
11.2.3. The Color Palette
11.2.4. Accessibility Concerns
11.2.5. Communication Is Important
11.3. Creating the CSS
11.3.1. Commenting
11.3.2. Units
11.3.3. Baseline Styles
11.3.4. Structure
11.3.5. Typographic Defaults
11.3.6. Global Elements
11.3.7. Components and Reusable Classes
11.3.8. One-offs
11.3.9. Compromises
11.3.10. Cross-browser Consistency
11.3.11. Accessibility and Links
11.4. Documentation and Design Library
11.5. Summary
1. CSS Standards Guide
1.1. Igloo Refrigerator Parts Inc. CSS Standards Guide
1.1.1. Introduction and Conventions
1.1.2. Implementation
1.1.3. General Rules
1.1.4. Comments
1.1.5. Formatting
1.1.6. Naming
1.1.7. Typography
1.1.8. Color
1.2. CSS Coding Standards References
2. Accessibility Guidelines
2.1. Igloo Refrigerator Parts Inc. CSS Accessibility Guidelines
2.1.1. Introduction and Conventions
2.1.2. General Rules
2.1.3. Typography
2.1.4. Links
2.1.5. Color
3. Browser Support Guidelines
3.1. Igloo Refrigerator Parts Inc. Browser Support Guidelines
3.1.1. Introduction and Conventions
3.1.2. General Rules
3.1.3. Avoiding Common Bugs
3.1.4. Hacks and Filters
3.1.5. Devices
4. Development Process
4.1. Igloo Refrigerator Parts Inc. Development Process
4.1.1. The Team
4.1.2. Iterations
4.1.3. Stories
4.1.4. Structure and Version Control
4.1.5. Planning Meeting
4.1.6. Stand-up Meeting
4.1.7. Day-to-Day Development
4.1.8. Tidy-up Meeting
4.1.9. Retrospective
4.1.10. Scheduling
4.1.11. Warranty
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
About the Authors
Next
Next Chapter
Acknowledgments
About the Technical Reviewer
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset