伪类用单个冒号书写,分为三大类:状态伪类(:hover、:focus、:checked、:disabled)反映交互与表单状态;结构伪类(:first-child、:nth-child(2n)、:last-of-type)按位置匹配;功能伪类(:not()、:is()、:where())做逻辑组合。
现代 CSS 新增了一批体验向伪类::focus-visible(仅键盘聚焦时高亮,鼠标点击不打扰)、:placeholder-shown、:has()(父选择器,CSS 盼了二十年的能力)、:target(锚点命中高亮)。
tr:nth-child(odd);tr:nth-child(odd) { background: #f7f7f7; } button:not(:disabled):hover { transform: scale(1.05); } .form:has(input:invalid) { border-color: red; } .btn:focus-visible { outline: 2px solid #2f81f7; }