Progressive enhancement
Progressive enhancement is a development approach that provides broadly compatible baseline functionality and adds capabilities when the environment supports them.
CSS in Depth, Second Edition
A web development technique that introduces newer capabilities while allowing unsupported browsers to ignore them without preventing the rest of the stylesheet from applying.
- How it is used
- Uses CSS fallback behavior to deliver usable interfaces across older, current, and future browsers.
- How deep it goes
- Explains declaration, selector, and feature-query strategies with concrete layouts, while leaving feature-specific CSS details to other topics.
- Examples
- Uses transparent background colors, validation selectors, and a coffee-link layout enhanced from inline-block cards to CSS Grid.
- What you can do after
- Apply it by pairing dependable CSS with newer declarations, selectors, or layouts that browsers can adopt selectively.
Read how CSS in Depth, Second Edition explains progressive enhancement →
Design for Developers
Progressive enhancement is a web development strategy that delivers core functionality with broadly supported technologies and adds richer capabilities when available.
- How it is used
- Uses semantic HTML, CSS, and minimal JavaScript to preserve core web functionality while adding richer experiences.
- How deep it goes
- Explains baseline construction, failure planning, feature layering, polyfills, and @supports, but stops short of implementation code.
- Examples
- Uses failed CSS or JavaScript scenarios, disabled JavaScript, polyfills, @supports queries, and a JavaScript-dependent website figure.
- What you can do after
- Build a functional baseline and layer enhancements that remain usable across browser capabilities, device constraints, and loading failures.
Read how Design for Developers explains progressive enhancement →
Related concepts
- routingused by · Routing is the selection of a path, destination, or processing component to direct an item, request, or flow toward an intended endpoint.
- CSSuses · CSS, or Cascading Style Sheets, is a stylesheet language for specifying the presentation and layout of structured documents and user interfaces.
- cascadeuses · The CSS cascade is the process that resolves competing applicable style declarations to determine the styles applied to an element.
- feature detectionuses · Feature detection is the practice of testing at runtime whether an environment supports a particular capability.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.

