css定位属性position详解

定位属性position可以说是css中最重要的属性之一,完全掌握了position属性和display属性,也就完全掌握了一般页面的布局。position属性一共可以有七种值,分别是static、fixed、relative、absolute、sticky、inherit、initial。最常用的是fixed、relative、absolute, sticky、inherit较为少用,static、initial基本不会使用,只存在于理论中。

1.static

static为position属性的默认值,不声明position属性时,position默认为static,元素会正常出现在文档流当中,这个时候给元素定义top、left等属性时无效的。

2.fixed

fixed为固定定位,元素将相对于浏览器窗口进行定位,若定位为top也就是当你上下拖动网页时,fixed定位的元素是不会移动的,在很多页面中的广告都会使用这个定位属性,上下拖动页面广告始终在窗口中不移动。fixed定位使元素和文档流无关。

3.relative

relative为相对定位,元素将相对于元素本身的位置进行定位,也就是相对于position值为static时进行定位,如top:100px,元素将相对于本来的位置下移100px。relative定位不会使元素脱离文档流。

4.absolute

absolute为绝对定位,元素将相对于 static、initial 定位以外的第一个父元素进行定位,也就是当元素以absolute定位时,他将向上一层一层的查找它的父元素,查找以fixed、relative、absolute、sticky、inherit(具体分析,一般也可以)定位的父元素,查找到以后将以这个父元素定位。absolute定位会使元素脱离文档流。

5.sticky

sticky为粘性定位, 在目标区域内时,它的表现就像position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。比如说360首页搜索框的定位就是类似的效果,但它并没有使用这个属性来定位,因为这个属性的兼容性并不好,360浏览器并不支持这个属性,还有很多浏览器也不支持这个属性,所以在使用这个属性时一定要谨慎。

6.inhert

inhert为继承,意思是这个元素的定位属性应该从父元素继承。

7.initial

initial意为初始值,这个属性等于static。

猜你喜欢

转载自blog.csdn.net/qq_41635167/article/details/82026016