优先级由高到低的顺序是:
!important > 行内样式 > ID 选择器 > 类选择器/属性选择器/伪类选择器 > 元素选择器 > 通配符选择器。
选择器权重的规则:
- !important:权重为无穷大
- 行内样式:权重值为 1000
- ID 选择器:权重值为 100
- 类选择器、属性选择器和伪类选择器:权重值为 10
- 元素选择器和伪元素选择器:权重值为 1
- 通配符选择器、子选择器、相邻选择器和后代选择器:权重值为 0
优先级注意点:
- 权重是有4组数字组成,但是不会有进位
- 可以理解为类选择器永远大于元素选择器,id选择器永远大于类选择器,以此类推
- 登记判断从左向右,如果某一位数值相同,则判断下一位数值
- 可以简单记忆法:通配符和继承权重为0,标签选择器为1,类(伪类)选择器为10,id选择器100,行内样式表为1000,!important无穷大
- 继承的权重是0,如果该元素没有直接选中,不管父元素权重多高,子元素得到的权重都是0
继承属性:
在css
中,继承是指的是给父元素设置一些属性,后代元素会自动拥有这些属性
关于继承属性,可以分成:
字体系列属性:
font:组合字体
font-family:规定元素的字体系列
font-weight:设置字体的粗细
font-size:设置字体的尺寸
font-style:定义字体的风格
font-variant:偏大或偏小的字体
文本系列属性:
text-indent:文本缩进
text-align:文本水平对刘
line-height:行高
word-spacing:增加或减少单词间的空白
letter-spacing:增加或减少字符间的空白
text-transform:控制文本大小写
direction:规定文本的书写方向
color:文本颜色
元素可见性:
visibility
表格布局属性
caption-side:定位表格标题位置
border-collapse:合并表格边框
border-spacing:设置相邻单元格的边框间的距离
empty-cells:单元格的边框的出现与消失
table-layout:表格的宽度由什么决定
列表属性:
list-style-type:文字前面的小点点样式
list-style-position:小点点位置
list-style:以上的属性可通过这属性集合
引用:
quotes:设置嵌套引用的引号类型
光标属性:
cursor:箭头可以变成需要的形状
继承中比较特殊的几点:
-
a 标签的字体颜色不能被继承
-
h1-h6 标签字体的大下也是不能被继承的
无继承的属性:
-
display
-
文本属性:vertical-align、text-decoration
-
盒子模型的属性:宽度、高度、内外边距、边框等
-
背景属性:背景图片、颜色、位置等
-
定位属性:浮动、清除浮动、定位 position 等
-
生成内容属性:content、counter-reset、counter-increment
-
轮廓样式属性:outline-style、outline-width、outline-color、outline
-
页面样式属性:size、page-break-before、page-break-after