前端常用布局方式总结CSS-position定位布局简记

143 阅读1分钟

position: absolute

  • 元素会脱离文档流
  • 相对于离它最近的且不是static定位的父元素定位
  • 宽度由内容决定
  • 定位为absolution后,原来的位置相当于是空的,下面的的元素会来占据

position: relative

  • 元素仍处于文档流中
  • 定位是相对于原本自身的位置
  • 若没有设置宽度,则宽度为父元素的宽度,该元素的大小会影响父元素的大小

position: static:

  • 是position的默认值,元素处于正常的文档流中
  • 会忽略left、top、right、bottom和z-index属性

position: fixed

  • 是特殊版的absolute
  • fixed元素总是相对于body定位的

position: inherit

  • 继承父元素的position属性
  • 注意:IE8以及往前的版本都不支持inherit属性

position: sticky

  • 元素在跨越特定阈值前为相对定位,之后为固定定位
  • 元素在屏幕范围位置并不受到定位影响(top、left等属性无效)
  • 元素位置将要移出偏移范围时,定位会变成fixed,根据设置的left、top等属性成固定位置的效果。
  • 相对于离它最近的具有滚动框的祖先元素定位,如果祖先元素都不可以滚动,那么是相对于viewport来计算元素的偏移量。
  • 注意:
    • 兼容性还不是很好
    • 父元素不能是overflow:hidden
    • 必须设置了top\left\right\bottom四个属性中的之一