09-CSS定位(position)

不打扰是莪最后的温柔 提交于 2020-01-18 15:02:51

 

静态定位:使元素定位于常规流中

position: static;

1、忽略top,bottom,left,right,z-index。
2、两个相邻元素如果设置了外边距,最终外边距 = 两者外边距最大的。
3、具有 固定的width和height值的元素,如果左右外边距设置成auto,左右外边距会自动扩大占满剩余宽度。造成的效果就是水平居中。

 

相对定位:使元素成为 containing-block(可定位的祖先元素)

position: relative;

1、可以使用top,bottom,left,right,z-index 进行相对定位。
2、相对定位的元素不会离开常规流。
3、任何元素都可以设置relative,它的绝对定位的后代 都可以相对于它 进行绝对定位
4、可以使浮动元素发生偏移,并控制它们的堆叠顺序。

 

绝对定位:使元素脱离常规流

position: absolute;

1、脱离常规流
2、设置尺寸要注意,百分比比的是最近定位的祖先元素
3、top,bottom,left,right 设置为0,它将对齐到最近定位祖先元素的各边。
4、top,bottom,left,right 设置为auto,它将会打回原形
5、如果没有 最近定位祖先元素,就会 把body当 最近定位祖先元素
6、z-index可以控制堆叠顺序(最高999999)

 

固定定位:

position: fixed;

1、相对于整个屏幕做绝对定位
2、固定定位不会随着视口滚动而滚动
3、继承absolute的特点

 

粘性定位: relative + fixed 的完美结合,制造出吸附效果

position: sticky;

1、如果产生偏移 原位置还是会在常规流中(相对定位的特性)
2、如果它的 最近祖先元素 有滚动 那么它的偏移标尺 就是最近祖先元素
3、如果它的 最近祖先元素 没有滚动 那么它的偏移标尺 是视口
4、上下左右偏移规则都一样

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!