CSS的三大特性(继承,层叠,优先级)
2017-12-15 10:39
701 查看
继承性
一、什么是继承
作用:继承性(inheeited),子类可以使用父类的属性text-,font-,line-这些元素开头的都可以继承,以及color属性
特殊性:
a标签的颜色不能继承,必须对a标签本身进行设置
h标签的字体大小不能修改,必须对h标签本身进行修改
!important优先级最高,但是没有继承性
二、继承的元素
1、无继承性的属性
1、display:规定元素应该生成的框的类型2、文本属性:
vertical-align:垂直文本对齐 text-decoration:规定添加到文本的装饰 text-shadow:文本阴影效果 white-space:空白符的处理 unicode-bidi:设置文本的方向
3、盒子模型的属性:
width、height、margin 、margin-top、margin-right、margin-bottom、margin-left、border、border-style、border-top-style、border-right-style、border-bottom-style、border-left-style、border-width、border-top-width、border-right-right、border-bottom-width、border-left-width、border-color、border-top-color、border-right-color、border-bottom-color、border-left-color、border-top、border-right、border-bottom、border-left、padding、padding-top、padding-right、padding-bottom、padding-left
4、背景属性:
background、background-color、background-image、background-repeat、background-position、background-attachment
5、定位属性:
float、clear、position、top、right、bottom、left、min-width、min-height、max-width、max-height、overflow、clip、z-index
6、生成内容属性:
content、counter-reset、counter-increment
7、轮廓样式属性:
outline-style、outline-width、outline-color、outline
8、页面样式属性:
size、page-break-before、page-break-after
9、声音样式属性:
pause-before、pause-after、pause、cue-before、cue-after、cue、play-during
2、有继承性的属性
1、字体系列属性font:组合字体 font-family:规定元素的字体系列 font-weight:设置字体的粗细 font-size:设置字体的尺寸 font-style:定义字体的风格 font-variant:设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为大写,但是所有使用小型大写字体的字母与其余文本相比,其字体尺寸更小。 font-stretch:对当前的 font-family 进行伸缩变形。所有主流浏览器都不支持。 font-size-adjust:为某个元素规定一个 aspect 值,这样就可以保持首选字体的 x-height。
2、文本系列属性
text-indent:文本缩进 text-align:文本水平对齐 line-height:行高 word-spacing:增加或减少单词间的空白(即字间隔) letter-spacing:增加或减少字符间的空白(字符间距) text-transform:控制文本大小写 direction:规定文本的书写方向 color:文本颜色
3、元素可见性:visibility
4、表格布局属性:caption-side、border-collapse、border-spacing、empty-cells、table-layout
5、列表布局属性:list-style-type、list-style-image、list-style-position、list-style
6、生成内容属性:quotes
7、光标属性:cursor
8、页面样式属性:page、page-break-inside、windows、orphans
9、声音样式属性:
speak、speak-punctuation、speak-numeral、speak-header、speech-rate、volume、voice-family、pitch、pitch-range、stress、richness、、azimuth、elevation
3、所有元素可以继承的属性
1、元素可见性:visibility2、光标属性:cursor
4、内联元素可以继承的属性
1、字体系列属性2、除text-indent、text-align之外的文本系列属性
5、块级元素可以继承的属性
1、text-indent、text-align层叠性
是浏览器处理冲突的一个能力如果一个属性通过两个选择器设置到同一个元素上,那么这个时候一个属性就会将另一个属性层叠掉
CSS中的层叠就是让多个来源的样式叠加在一起,然后结合样式的特殊性(后面详细介绍)、继承性,确定最终应用的样式。
样式的来源分五种:
1、浏览器默认的样式;
2、用户自定义样式。一些页面中会提供一些让用户自定义字体大小颜色等的快捷键;
3、外部样式,即引用的CSS后缀文件;
4、内部样式,即写在标签内的样式;
5、内联样式,即直接写在style属性内的样式;
CSS2.1层叠规则是:
1、找出所有相关的规则,这些规则都包含与一个给定元素匹配的选择器。
2、按显式权重对应用到该元素的所有声明进行排序,有!important标志的声明的权重要高于不带!important标志的声明。
3、按来源对应用到给定元素的所有声明进行排序。正常情况下,创作人员的样式要胜过读者的样式。有!important标志的的读者样式要强于所有其他样式,包括有!important标志的创作人员样式。创作人员的样式和读者样式斗都比用户代理的默认样式强。
4、按特殊性对应用到给定元素的所有声明进行排序,有较高特殊性的元素权重要大于有较低特殊性的元素。
5、按出现顺序对应用到给定元素的所有声明进行排序,后面出现的声明权重要大于前面出现的声明,即后定义的样式会覆盖前面定义的样式。
选择器的特殊性:
1、对于内联样式,特殊性首位加1,即1,0,0,0。
2、对于选择器中出现的ID属性值,加0,1,0,0, 有多少个ID值就在第二位加几位。
3、对于选择器中出现的类属性值,属性选择及伪类,加0,0,1,0,共出现多少个就在第三位加几位。
4、对于选择器中出现的元素,以及伪元素,加0,0,0,1,共出现多少个就在第四位加几位。
5、通配符对特殊性没有任何贡献,即特殊性是0,0,0,0。
6、结合符没有特殊性,连0特殊性也没有。
7、继承的CSS完全没有特殊性,连0特殊性也没有(CSS中的继承是有选择性的,并不是全部CSS都继承,像边框属性就不会继承)。
优先级
!important>行内样式>id选择器>类选择器>标签选择器>通配符>继承权重是优先级的算法,层叠是优先级的表现
选择器的工作原理:选择器是从右我往左查找
相关文章推荐
- css三大特性继承、层叠和优先级(权重)
- css 的三大特性 继承,层叠,优先级
- CSS的三大特性——继承,层叠、优先级
- css的三大特性(继承,层叠,优先级)
- CSS三大特性—— 继承、 优先级和层叠。
- Css的三大机制(特性):特殊性、继承、层叠详解
- CSS优先级、CSS选择器、解决冲突——继承与层叠
- CSS三大特性---层叠性,继承性,优先级
- CSS三大特性继承性,层叠性,优先级
- CSS系列:CSS的继承与层叠特性
- 0426-CSS三大特性之优先级
- CSS 三大特性: 继承性、层叠性、优先级
- H5 26-CSS三大特性之优先级
- CSS三大特性之优先级
- css-继承、优先级、层叠
- CSS三大特性(继承、优先级、层叠)之个人见解
- 【CSS】【5】CSS继承特性和层叠特性
- 前端学记之CSS-继承、优先级、层叠
- 学习笔记——CSS的高级特性:复合、继承、层叠
- CSS三大特性—— 继承、 优先级和层叠。