定位
| 名称 | 参考位置 | 特点 |
|---|---|---|
| absolute | 参考它的有定位的第一个祖先元素 | 脱离文档流,会对后面的兄弟元素、父元素有影响 绝对定位、浮动不能同时设置 |
| relative | 相对自己原来的位置 | 不会脱离文档流,不会对其他元素产生任何影响 |
| fixed | 参考它的视口 | 脱离文档流,会对后面的兄弟元素、父元素有影响 固定定位和浮动不能同时设置 |
| sticky | 离它最近的一个拥有“滚动机制”的祖先元素 | 不会脱离文档流,它是一种专门用于窗口滚动时的新的定位方式 |
定位层级(z-index)
- 定位元素的显示层级比普通元素高,定位显示层级一样。
- 如果位置发生重叠,默认情况是:后面的元素,会显示在前面元素之上。
- z-index 的属性值是数字,没有单位,值越大显示层级越高。
- 只有定位的元素设置 z-index 才有效。
- 如果 z-index 值大的元素,依然没有覆盖掉 z-index 值小的元素,那么请检查其包含块的层级。
定位的特殊应用
充满父容器
- 块宽想与包含块一致,可以给定位元素同时设置 left 和 right 为 0 。
- 高度想与包含块一致, top 和 bottom 设置为 0 。
元素在包含块中居中
plain
left:0;
right:0;
top:0;
bottom:0;
margin:auto;plain
left: 50%;
top: 50%;
margin-left: 负的宽度一半;
margin-top: 负的高度一半;