web前端-CSS Position 定位

position属性指定一个元素(静态的,相对的,绝对或固定)的定位方法的类型。

static

默认值,没有定位。

relative(相对定位)

生成相对定位的元素,相对于其正常位置进行定位。
如left和top设置为20px时,该元素的left和top就会有20像素;(p1)
web前端-CSS Position 定位

absolute(绝对定位)

生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
绝对定位会脱离文档流,在没有设置距离时,绝对定位的元素会与前一个的元素保持间距,但是绝对定位元素的left和top为0时,元素在页面的左上角。(p2)
web前端-CSS Position 定位
web前端-CSS Position 定位
当绝对定位的元素在相对定位中,该绝对定位的left,top为0时,它就会如下图所示(p3)
web前端-CSS Position 定位
以相对定位元素的left和top为自身位置的开始

fixed(固定定位)

生成固定定位的元素,相对于浏览器窗口进行定位。
顾名思义,元素的的定位以浏览器为准。(p4)
web前端-CSS Position 定位
web前端-CSS Position 定位
无论浏览器如何滚动,元素的位置一直固定在设置的位置。

sticky(粘性定位)

粘性定位,该定位基于用户滚动的位置。
它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。(p5)
web前端-CSS Position 定位
web前端-CSS Position 定位
在还没有滚动时,p5的位置如图所示
web前端-CSS Position 定位
滚动后,元素的top依旧不为0,所以粘性定位的元素依然可以动,但当top被滚动为零时
web前端-CSS Position 定位
粘性元素就被被固定在*top:0;*的位置。

相关文章: