} after property list
; and (matched) }; [present, debug]Then style it if possible




Mozilla Developer Network
Not identical, but equivalent

There is a difference between support and optimization.
— Brad Frost, support vs optimization (2011)

- Identify core functionality.
- Make that functionality available using the simplest possible technology.
- Enhance!
— Jeremy Keith, Resilient Web Design

You can use it and not use it at the same time, because it works and it doesn’t work at the same time. It’s Quantum CSS! It’s Magic!
— Jen Simmons, Intro to Resilient CSS
/* IE6 and below */
* html #uno { color: red }
/* IE7 */
*:first-child+html #dos { color: red }
/* IE7, FF, Saf, Opera */
html>body #tres { color: red }
/* IE8, FF, Saf, Opera (Everything but IE 6,7) */
html>/**/body #cuatro { color: red }
.no-cssgradients .header {
background: url("images/glossybutton.png");
}
.cssgradients .header {
background-image: linear-gradient(deeppink, rebeccapurple);
}
@media & @supports

Is a progressive-enhancement feature

:has() [present, debug]light | dark | no-preference
low | high | no-preference
reduce | no-preference
reduce | no-preference
Not reduced animation
/* touch screens */
@media (hover: none) and (pointer: coarse) { }
/* stylus-based screens */
@media (hover: none) and (pointer: fine) { }
/* gesture-based screens */
@media (hover: hover) and (pointer: coarse) { }
/* mouse & touch pad */
@media (hover: hover) and (pointer: fine) { }
It’s just the job we do

