css中position属性值的区别是什么?

css中position属性指定一个元素的定位方法的类型。这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。

css中position属性值的区别

1、relative

元素相对自身的原位置偏移某个距离,可能会覆盖其他元素;占据空间,原本的空间依旧保留,表现为空白

2、absolute

原来的元素空间被删除,新生成一个块级框,与页面内容相对静止,如果页面向下滑动,该块级框会跟随向上运动

不占空间,相对于最近的已定位的祖先元素,有已定位(指position不是static的元素)祖先元素, 以最近的祖先元素为参考标准。如果无已定位祖先元素, 以body元素为偏移参照基准。

所以,父元素一般设置为相对定位

3、fixed

原来的元素空间被删除,新生成一个块级框,固定在页面的一个位置,即使向下滑动页面,该块级框依旧位置不改变

不占空间,相对于视窗来定位,这意味着即便页面滚动,它还是会停留在相同的位置。一个固定定位元素不会保留它原本在页面应有的空隙。

4、sticky

1)、static表示没有定位,或者说不算具有定位属性。

2)、如果元素 position 属性值为 static(或者未设 position 属性),该元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。设置 top,right,bottom,left 这些偏移属性不会影响静态定位的正常显示(设置这些属性没有用)。

跟随页面一起滚动,当超过阈值以后,固定在页面边缘,相当于 absolute和fixed的混合

例如:

#one { position: sticky; top: 10px; }

在 viewport 视口滚动到元素 top 距离小于 10px 之前,元素为相对定位。之后,元素将固定在与顶部距离 10px 的位置,直到 viewport 视口回滚到阈值以下。

以上就是css中position属性值的区别是什么?的详细内容,更多请关注易知道|edz.cc其它相关文章!

推荐阅读