Index
B
- base styles, Base Styles-Component Styles, Base Styles
- anchor tags, Anchor Tags
- defining, Defining Base Styles
- document metadata, Document Metadata
- forms, Forms
- grouping elements, Grouping Elements
- images, Images
- lists, Lists
- sectioning elements, Sectioning Elements
- separating, Separate Base Styles
- tables, Tables
- text semantics, Text Semantics
- best practices
- block-level comments, Use Comments
- box model, building a better box, Build a Better Box-Chapter Summary
- box-sizing property, Build a Better Box
- Browserling, Third-Party Testing Services
- browsers, What’s Not In This Book
- accessing browser statistics and screen resolutions in Google Analytics, Accessing Browser Statistics and Screen Resolutions in Google Analytics
- browser-specific CSS hacks, Segregate Browser-Specific CSS Hacks
- browser-specific styles, Browser-Specific Styles, Browser-Specific Styles
- deciding which browsers to test, Which Browsers Are Important to Test?
- headless, Visual Regression Testing with Gemini
- ignoring styling of form elements, Forms
- market share, Browser Market Share
- matching selectors from right to left, Matching selectors from right to left
- normalizing styles across, Normalizing Styles
- testing with multiple browsers, Testing with Multiple Browsers-Testing with Old Versions of Browsers
- testing with old versions, Testing with Old Versions of Browsers
- testing with third-party testing services, Third-Party Testing Services
- user agent spoofing, Emulating Device Sizes
- vendor pefixes for properties, Organize Properties with Vendor Prefixes
- BrowserStack, Third-Party Testing Services
C
- cascade, Understanding the Cascade-Chapter Summary
- child combinators (>), Keep Selectors Simple
- Chrome
- classes
- classifying styles, Classifying Different Types of Styles-Chapter Summary
- code placement, Code Placement and Refactoring Strategies-Auditing Your CSS Before Refactoring
- code reuse, Good Architectures Promote Code Reuse
- code, maintaining, Maintaining Your Code-Chapter Summary
- comments, Use Comments
- component styles, Component Styles-Structural Styles, Styles for Components and Their Containers
- components, reusable (see reusable components)
- concatenation, Serving CSS
- containers
- content-box, assigning box-sizing property to, box-sizing: content-box
- CSS
- CSS Dig (Chrome extension), Auditing Your CSS Before Refactoring
- CSS frameworks, What’s Not In This Book
- CSS, writing, Writing Better CSS-Chapter Summary
D
- dead code, deleting, Delete Dead Code
- declaration blocks, Nomenclature
- declarations
- definition lists, styling in base styles, Lists
- developer tools, testing with, Testing with Developer Tools
- development time
- device sizes, emulating, Emulating Device Sizes
- display property, inline-block hack for IE 7, Browser-Specific Styles
- document metadata, Document Metadata
- DOM (Document Object Model) and CSS styles, The Document Object Model (DOM) and CSS Styles
- duplicate declaration blocks, Delete Dead Code
- duplicate declarations in a block, Delete Dead Code
H
- heading elements, base style for, Heading and Text Elements
- headless browsers, Visual Regression Testing with Gemini
- headline CSS, refactoring (example), Refactoring Example 2: A Simple Example of Refactoring CSS
- hidden elements, Utility Styles
- :hover pseudoclass, Anchor Tags
- hr element, normalizing style across browsers, Normalizing Styles
- HTML, What’s Not In This Book
- Huddle, PhantomCSS, Testing regressions
I
- IDs
- images
- !important declaration, Overriding the Cascade with the !important Declaration, Utility Styles, Utility Styles
- inheritance, property values in CSS, Defining Base Styles
- inline CSS, removing, Remove Inline CSS and Over-Modularized Classes
- inline styles, Refactoring the website headline
- inline-block hack for IE 7, Browser-Specific Styles
- Internet Explorer (IE), Organize Properties with Vendor Prefixes
- iOS Simulator, Safari for iOS
M
- MailChimp, pattern library, Building a pattern library
- maintainability, Good Architectures Are Maintainable
- margin property, inheritance and, Defining Base Styles
- media queries, keeping close to relevant declaration block, Browser-Specific Styles
- metadata, document, Document Metadata
- Microsoft Edge/Internet Explorer
- minification, Serving CSS
- mobile browsers, Testing with Multiple Browsers
- moz vendor prefix, Organize Properties with Vendor Prefixes
- Mozilla Firefox (see Firefox)
- ms vendor prefix, Organize Properties with Vendor Prefixes
P
- padding property, inheritance and, Defining Base Styles
- Parallels, Internet Explorer and Microsoft Edge
- pattern libraries, Pattern Libraries
- performant selectors, Performant Selectors
- PhantomCSS, Testing regressions
- PhantomJS, Visual Regression Testing with Gemini
- predictability of good architectures, Good Architectures Are Predictable
- properties, What’s Not In This Book
- pseudoclasses, Anchor Tags
R
- refactoring
- defined, What Is Refactoring?
- examples, Refactoring Examples-Refactoring the website headline
- factors leading to, Shortcomings that Lead to Refactoring
- measuring success of, Measuring Success-Reduced Development and Testing Time
- permissions for, Am I Allowed to Refactor My Code?
- software architecture and, Software Architecture and Refactoring
- strategies for, Refactoring Strategies-Segregate Browser-Specific CSS Hacks
- consistently structuring rulesets, Consistently Structure Rulesets
- converting IDs to classes, Convert IDs to Classes
- decoupling CSS and JavaScript, Decouple CSS and JavaScript
- defining reusable components, Define Reusable Components
- deleting dead code, Delete Dead Code
- removing inline CSS and over-modularized classes, Remove Inline CSS and Over-Modularized Classes
- removing redundant IDs, Remove Redundant IDs
- segregating browser-specific CSS hacks, Segregate Browser-Specific CSS Hacks
- separating base styles, Separate Base Styles
- separating utility styles, Separate Utility Styles
- when not to do it, When Should Code NOT Be Refactored?
- when to do it, When Should Code Be Refactored?
- requirements, changes in, Changing Requirements
- reusable components, Component Styles
- ruleset order, Ruleset Order
- rulesets, Nomenclature
S
- Safari browsers, Safari and Safari for iOS
- Safari for iOS, testing, Safari for iOS
- Sauce Labs (testing service), Third-Party Testing Services
- screen resolutions (browser), accessing with analytics tools, Accessing Browser Statistics and Screen Resolutions in Google Analytics
- sectioning elements, base style for, Sectioning Elements
- selectors
- software architecture, What Is Software Architecture?
- software development, underestimating time needed for, Underestimating Difficulty
- specificity, Selector Specificity, Low specificities
- structural styles, Structural Styles, Structural Styles
- styles
- syntax, Preface
T
- tables, base style for, Tables
- tabs
- testing, Testing-Chapter Summary
- browser market share, Browser Market Share
- deciding which browsers to test, Which Browsers Are Important to Test?
- difficulty of testing CSS, reasons for, Why Is Testing Difficult?
- maintaining code quality, Maintaining Your Code-Chapter Summary
- reduced time spent on, Reduced Development and Testing Time
- unit tests, Unit tests
- using developer tools, Testing with Developer Tools
- using third-party testing services, Third-Party Testing Services
- visual regression testing, Visual Regression Testing-Testing regressions
- with multiple browsers, Testing with Multiple Browsers
- with old versions of browsers, Testing with Old Versions of Browsers
- text elements, base style for, Heading and Text Elements
- text semantics elements, base style for, Text Semantics
- transform-origin property, vendor prefixes with, Organize Properties with Vendor Prefixes
- transformations, Organize Properties with Vendor Prefixes