focus-within 伪类有什么用?和 focus 的区别是什么?
:focus-within 在元素本身或任意后代拥有焦点时匹配,适合高亮整个表单字段组或展开包含输入框的面板。它不会把焦点移到父元素;与 :focus 相比,触发范围更大,组件嵌套时需要注意样式向上联动。
核心关键词CSS :focus-within pseudo-class usability
CSS · 表单面试题第 1 页,显示第 1–4 题,共找到 4 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
:focus-within 在元素本身或任意后代拥有焦点时匹配,适合高亮整个表单字段组或展开包含输入框的面板。它不会把焦点移到父元素;与 :focus 相比,触发范围更大,组件嵌套时需要注意样式向上联动。
:required 匹配带 required 属性的表单控件,:optional 匹配不要求必填的控件,两者描述属性状态而不是用户当前输入是否有效。禁用控件也可能匹配必填规则;表单错误样式要把必填状态与 :invalid 等校验状态分开处理。
:in-range 和 :out-of-range 只对支持范围约束的输入类型有意义,按 min、max 与当前值决定匹配结果。它们描述是否越界,不等于整个控件的 :valid 或 :invalid 状态;必填、格式错误等其他约束仍要另行判断。
:enabled 和 :disabled 只能选中可禁用的表单控件,对链接无效。这里说明哪些元素能被禁用、fieldset 禁用后对后代控件的影响,以及为什么仅写 disabled 属性未必能代表实际状态。