选择器优先级、属性继承

21 阅读1分钟

选择器优先级

层叠:css规则的顺序

关系选择器 (后代、子代、群组、相邻兄弟、通用兄弟)

伪类 :first-child、:empty

用户行为伪类(动态伪类)::active 、:hover 、:focus

伪元素 ::first-line、::first-letter

::before::after常用于生成特定内容(如小图标)

优先级: !important > 内联(1000) > id(100) > 类、属性、伪类选择器(10, 特别地,:is、:not伪类例外) > 元素、伪元素(1) > 通配符、关系选择符(+、~、>)

注意 :is()、:not()对优先级无影响,但参数会有影响,一般取优先级最大值,例如button:not(#mainBtn, .cta) 优先级为1-0-1

属性继承

通用属性值(控制继承):inherit/initial/unset/revert

继承属性分类

  • 字体属性 font-family...
  • 文本属性 text-indent...
  • 光标属性
  • 表格布局属性 table-layout、border-collapse...
  • visibility

特别地

  • a 标签的字体颜色不能继承父元素
  • h1-h6标签字体的大下不能继承父元素

无继承属性分类

  • 背景属性
  • 轮廓样式属性 outline-style、outline-width...
  • display
  • 定位属性
  • 盒模型属性