Skip to content

选择器与层叠 ​

选择器类型(常见) ​

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

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


优先级(特异性) ​

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

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


继承 ​

部分属性(如 color、font-size、line-height)默认继承自父元素;盒模型相关(width、margin、border 等)默认不继承。

可用 inherit、initial、unset、revert 控制继承行为。

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

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

简要建议 ​

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