Skip to content

选择器与层叠

选择器类型(常见)

类型示例备注
类型divp覆盖面广,慎用单独标签选择器
.btn首选,可复用
ID#header唯一性,优先级高,少用
属性[type="text"]表单、无障碍场景常用
伪类:hover:nth-child()交互与列表
伪元素::before::placeholder装饰与首行等

组合选择器:后代 A B A > B相邻兄弟 A + B通用兄弟 A ~ B


优先级(特异性)

粗略规律:内联样式 > #id > 类 / 属性 / 伪类 > 标签 / 伪元素;同等条件下 后写的覆盖先写的(同层叠顺序内)。

!important 会打断常规比较,仅建议在覆盖第三方临时样式等场景少量使用。


继承

部分属性(如 colorfont-sizeline-height)默认继承自父元素;盒模型相关widthmarginborder 等)默认不继承。

可用 inheritinitialunsetrevert 控制继承行为。

css
/* 
inherit:我要继承父
initial:我要规范默认
unset:能继承就继承,不能就默认
revert:我要浏览器默认样式 
*/

.child {
  color: inherit; /* 继承父的颜色 */
  margin: inherit; /* 本来不继承,强行继承父的 margin */
}

简要建议

  • 优先 类选择器 控制样式,降低特异性战争。
  • 结构分层:重置 / 变量 → 布局组件 → 业务组件 → 页面,见 07 中的模块划分思路。