什么是css的继承和层叠?
首先,CSS被称为层叠样式表,CSS有两大特性:继承性和层叠性
继承的定义
继承:是给父级设置了一些属性。子级继承了父级的该属性,这就是我们CSS的继承。但是不是每个属性都能继承的。
哪些属性可以继承呢?
这里我列举一些:
- color
- font-
- text-
- line-
像一些盒子元素,定位元素(浮动、绝对、固定定位)不能继承,这些在暂时作为了解。
层叠
指的是多个样式的叠加
是指浏览器解决冲突的一种能力,如果一个属性通过两个相同选择器设置到同一个元素上,那么这个时候属性就会将另外一个属性覆盖掉。
原则:
1. 样式冲突,一般遵循原则就是就近原则,也就是CSS的书写位置。
2. 样式不冲突,不会层叠
优先级
嵌入 | id | class | 元素 | |
---|---|---|---|---|
a | b | c | d | |
style | 1 | 0 | 0 | 0 |
id | 0 | 1 | 0 | |
class、属性、伪类 | 0 | 0 | 1 | 0 |
元素、伪元素 | 0 | 0 | 0 | 1 |
通配符 | 0 | |||
!important | 最高 |
盒模型
- 块级元素
- 行内元素
三种定位体系:常规流,浮动,绝对定位
注意:1.padding和margin取值顺时针
例如:padding:上 右 下 左;
取某一方向的值:padding-left/right:值;
padding不可为负数
标准盒:padding+border+content
IE盒:width+padding+border=width
将标准盒转换为IE盒:box-sizing:border-size;
定位体系
定位体系的意义:
定位体系帮助作者使文档更易理解,并不需要使用标记的手段达到布局的效果。
格式化上下文决定了可视化格式模型中框的形式,定位体系布局决定了这些框在页面中如何布局。
常规流
常规流(文档流):在没有CSS的干预下,块级元素独占一行,宽高可设。行内元素并排显示,宽高自动。