Baseline
Decide the minimum browsers and devices you support.
Browser support is a production decision. Modern CSS is powerful, but you must know what happens when a feature is missing.
.cards { display: block; }
@supports (display: grid) {
.cards { display: grid; }
}
Production mental model
Not every browser supports every CSS feature at the same time. That does not mean you must avoid modern CSS forever.
A strong browser support strategy defines the required experience, then uses progressive enhancement for newer features.
The goal is not pixel-perfect sameness everywhere. The goal is a working, readable, usable experience everywhere you claim to support.
Decide the minimum browsers and devices you support.
Write simple CSS that works before enhancements.
Add newer CSS when the browser supports it.
Verify real browsers, not only your favorite one.
Visual model
Readable layout with older CSS.
Grid, container queries or newer selectors.
Browser receives only what it understands.
The support promise is verified.
Good CSS versus fragile CSS
.cards { display: block; }
@supports (display: grid) {
.cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
}
}
.cards {
display: grid;
grid-template-columns: subgrid;
}
Rules of thumb
Know which browsers, versions and devices matter for the project.
The basic experience should not depend on the newest feature.
Use modern CSS to improve the experience, not to make old browsers unusable.
@supports can keep unsupported declarations away from browsers that cannot use them.
Many CSS surprises show up in Safari and mobile Safari.
A simpler layout can be acceptable if content and actions still work.
Production thinking
Browser support turns CSS from a local design into a reliable public interface.
Fallbacks must still preserve reading order, focus order and usable controls.
Write down the support matrix before release. Otherwise every browser bug becomes a debate.
Search engines and users benefit from content that remains visible even when advanced CSS is not supported.
Live code lab
The preview runs in an isolated iframe. Links and forms stay inside the practice area, so you can experiment without leaving the lesson.
Mini assignment
Practice assignment
Try it yourself
Self-check
Answer these questions before moving on. Production CSS is not about writing more rules; it is about proving the rules survive real use.
Senior audit upgrade
Browser support should not be guessed per feature. Define support with Browserslist, verify with caniuse and test real fallbacks.
Write the support target so tooling and developers agree.
Check feature support before depending on modern CSS.
Ship a usable baseline first, then enhance where supported.