当父元素定义了某个可继承属性,子元素自身也有相同属性时,如何判定子元素的最终值?
围绕“当父元素定义了某个可继承属性,子元素自身也有相同属性时,如何判定子元素的最终值”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明子元素自身规则(哪怕优先级低)优先于继承值,且若无自身规则,继承值参与层叠。
CSS面试题第 2 页,显示第 51–100 题,共找到 240 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
围绕“当父元素定义了某个可继承属性,子元素自身也有相同属性时,如何判定子元素的最终值”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明子元素自身规则(哪怕优先级低)优先于继承值,且若无自身规则,继承值参与层叠。
围绕“:is() 和 :where() 在优先级上有何关键差异?它们适合在哪些场景使用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需明确 :is() 取最高优先级,:where() 为零,并给出示例。
围绕“当未使用 @layer 的全局样式与 @layer 中的样式冲突时,谁优先级更高”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明未分层的样式优先级高于任何分层样式,除非分层中带 !important。
围绕“请解释 @layer 的作用,并简要说明如何定义层叠层以及默认顺序的影响”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 @layer 可以分组规则并控制优先级,未指定顺序时按出现顺序,但常用顺序需指定。
围绕“在带 !important 时,层叠层的优先级顺序会如何反转”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明正常情况下靠后的层优先,但带 !important 时靠前的层优先,这是常见的误区。
围绕“假设存在多个 @layer 语句,各层多次出现时其最终顺序如何确定”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明浏览器按第一次出现的顺序确定,后续语句只追加规则。
围绕“如果两个规则来自不同层叠层但优先级相同,决定胜负的是层顺序还是层内顺序”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释外层顺序优先于内层规则顺序,且未分层规则视为在最后。
围绕“:nth-child 的表达式 an+b 如何工作?请举例说明 2n、2n+1 和 n+3 分别选中哪些元素”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释从 1 开始计数,公式中 n 的态度,以及奇偶数常用写法。
围绕“:only-child 和 :only-of-type 的选择条件是什么?它们与其它结构伪类有何关联”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明它们判断是否唯一的子元素或类型,但不要求必须与兄弟比较,扩展到与 first-child 的比较。
围绕“如需兼容旧浏览器,在书写伪类时应采用哪些实践,例如添加前缀或降级方案”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需举具体伪类如 :focus-within 的 @supports 降级。
围绕“:indeterminate 伪类可用于哪些元素?比如复选框尚无选中状态时”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明用于 checkbox 通过 JS 设置,也可能用于 radio 组无预选。
围绕“:focus-within 伪类对哪些场景很有用?它和 :focus 的继承关系如何”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释当子元素获得焦点时父元素匹配,用于表单高亮。
围绕“:required 与 :optional 伪类是如何对应输入框属性的?请结合实际表单验证场景”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释它们根据 required 属性,但不能直接判断有效/无效,可配合 :valid。
围绕“:target 伪类是如何根据 URL 片段工作的?请举例说明其在导航中的应用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明匹配 id 的元素,以及多个目标未定义的情况。
围绕“::before 和 ::after 伪元素生成的内容是否影响元素的几何尺寸?其 content 属性可以设置哪些值”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明默认是行内级,伪元素也会参与布局,可设 text 和 attr(),但不允许设置嵌套伪元素。
围绕“::selection 伪元素可以自定义哪些样式?它对哪些属性有限制”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需明确可以设 color、background 等,但限制如 display 无效,并提及有些属性不支持继承。
围绕“:in-range 和 :out-of-range 伪类适用于哪些控件?如何设置范围并触发”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕须提到可适用于 input[type=number] 或 range,需 min/max 属性。
围绕“伪类(如 :hover)和伪元素(如 ::before)在选择器上的区别是什么?在书写时如何注意冒号”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需明确分别、历史单冒号的原因以及主流写法,并举例说明,不深入全部伪类。
围绕“使用 revert 重置已继承的属性时,会恢复为父元素的继承值还是用户代理默认值”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释 revert 在继承属性上会恢复为父元素计算值,若父元素未设则为浏览器默认。
围绕“revert 和 revert-layer 关键字在层叠中分别有什么作用?主要区别是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 revert 回退到用户代理样式,revert-layer 回退到上一层叠层的样式,并给出使用场景,不深入所有级联来源。
围绕“@scope 与 Shadow DOM 的样式隔离有何关系?可以替代吗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 @scope 是作用域,但不能替代 shadow DOM 的隔离机制,属于两个维度,不深入 Shadow DOM 部分。
围绕“@scope 规则在 CSS 中的作用是什么?如何定义作用域限制”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释 @scope 能让样式限定在 DOM 子树内,影响优先级,但注意浏览器兼容性,不深入 to() 语法细节。
围绕“@scope 中的 lower bound(to)有何用途?与 :scope 伪类有何区别”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 lower bound 可以终止作用域范围,:scope 指匹配元素本身。
解释如何计算 ul#nav li.active a:hover 的优先级:ID、类、伪类、元素数量,明确伪类算类级别,最终结果为 1-2-3。
本题给出同优先级规则冲突的判定结论:同层同源时后写的规则胜出;引入层叠层 @layer 后层顺序优先于层内来源顺序,并说明无层样式的默认位置与判断步骤。
本文依据 CSS 优先级计算规则,解释为何 ID 选择器(1-0-0)在数值上始终高于类选择器(0-1-0),并说明少用 ID 的工程原因,兼顾讨论 !important 带来的影响。
围绕“在 CSS 中,内联样式和 !important 是如何参与优先级计算的”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释内联样式与 !important 在优先级中的覆盖关系及与选择器优先级的区别。
围绕“:not() 伪类的优先级是如何计算的?与普通选择器有何不同”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 :not() 会使优先级为参数中选择器的最高优先级,且列表可多个。
围绕“:enabled 和 :disabled 伪类能适用于哪些元素?如果对链接使用会怎样”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明它们主要针对表单控件,链接不能用。
围绕“:first-child 与 :first-of-type 在选择元素上有什么本质区别”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需通过例子说明是兄弟上的第一个还是同一类型的第一个,并提示各自适用的场景。
本文解析 var() 的语法限制:仅支持一个 fallback,多值会被当作整体。并说明回退触发条件、无效值处理及工程场景中的误用后果。
围绕“用 animation-play-state: paused 暂停动画时,如果中途修改关键帧,动画会如何表现”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明暂停时修改关键帧对后续播放的影响,并关注状态保持与重排。
本文对比 animation-direction 的 alternate 与 reverse 如何影响关键帧的执行顺序:alternate 奇偶轮交替,reverse 每轮都倒序;并通过场景、边界和误区给出判断依据。
围绕“动画的 animationstart、animationend 与 animationiteration 事件分别在”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明事件触发顺序与延迟影响以及循环,不讨论 JS API 监听方式。
本题解释 animation-fill-mode 中 backwards 与 both 在动画延迟期间的表现差异,核心结论是延迟期间两者相同,区别仅在动画结束后。通过具体场景和判断边界帮助理解如何选择。
本题说明animation-delay不能控制循环间隔,并给出将延迟并入动画时长、通过关键帧制造空转段的实现。同时指出状态未闭合时会产生跳变,可用animation-direction或二段式结构规避。
围绕“在关键帧动画中,关键帧选择器百分比与 from/to 如何对应?如果只有部分百分比会怎样”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要讲清述 from/to 等价于 0%/100%,并补全缺失关键帧的插值行为。
围绕“animation-play-state: paused 与 animation-delay 中设置负值对动画开始时”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要比较暂停状态保持与负延迟快进。
围绕“如何用 CSS 让动画进度与滚动位置联动?当前浏览器原生支持的注意事项是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕涉及 animation-timeline 与 scroll-timeline。
围绕“backdrop-filter 与 filter 有何区别?backdrop-filter 对元素背景的模糊近似原理”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖区分作用于本身与背景。
围绕“backface-visibility: hidden 在 3D 卡片翻转中解决什么问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明防止背面显示镜面内容。
围绕“在哪些情况下会创建独立的合成层?如何利用 will-change 提升动画性能”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖列出常见触发条件,并说明过度使用 will-change 反而带来内存开销。
围绕“conic-gradient 与 repeating-conic-gradient 在绘制饼图或仪表盘时有什么关键差”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖明确一个渐变是否重复。
围绕“在 CSS 动画中频繁修改 CSS 自定义属性(属性)会导致性能问题吗?为什么推荐避免”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖指出修改自定义属性可能引发大量样式计算。
围绕“给图片应用 filter: grayscale() 后如何用 transition 实现平滑去色?会有什么性能瓶颈”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕强调过渡 filter 会持续重新计算像素,建议配合开关,不深入 GPU 加速原理。
围绕“filter 属性会继承给子元素吗?实际中的视觉影响如何”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖明确 filter 不继承但在父级应用影响整个渲染。
围绕“给父元素设置 filter 会创建新的层叠上下文,这对固定定位的子元素有何影响”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 fixed 定位子元素被限制在父级层叠上下文内,不解释 z-index 排序规则。
围绕“linear-gradient 的角度取值是如何影响颜色过渡方向的?请说明 0deg、90deg 的对应方向”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖解释角度与渐变线的方向关系。
围绕“在 linear-gradient 中,如果多个色标处于同一位置,颜色会产生硬边效果,其原理是什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖解释同一位置色标产生突变,不介绍具体实现技巧。
围绕“如何用 conic-gradient 模拟圆环进度条?与 border-radius 结合时需要注意什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕描述用 mask 或旋转实现缺口。