2022-07-27 11:53:51
Position属性四个值:static、fixed、absolute和relative的区别和用法
1. static(静态定位)
2. relative(相对定位)
元素脱离正常的文本流中,但其在文本流中的位置依然存在。
参照父级的原始点为原始点,无父级则以文本流的顺序在上一个元素的底部为原始点。
配合 TRBL(top, right, bottom, left)进行定位,当父级内有 padding 等 CSS 属性时,当前级的原始点则参照父级内容区的原始点进行定位。
可以用 TRBL 进行布局页面,但仍保留其作为普通元素在文档流中的位置。
3. absolute(绝对定位)
元素脱离正常文本流,其在正常流中的位置不再存在。
若没有 TRBL,以父级的左上角为原点进行定位(无父级时参照浏览器左上角)。
若设定 TRBL,并且父级没有设定 position 属性,则以浏览器左上角为原点进行定位。
若设定 TRBL,并且父级设定 position 属性(无论是 absolute 还是 relative),则以父级的左上角为原点进行定位,位置由 TRBL 决定,父级的 padding 对其不起作用。
常用于将某个元素定位于属性为 absolute 的元素的内部某个位置。
4. fixed(固定定位)
元素的位置相对于浏览器窗口固定,不随页面滚动而改变。
常用于创建固定在屏幕某个位置的元素,如导航栏、返回顶部按钮等。
总结与对比
图片示例
relative 定位示例:

absolute 与 relative 对比示例:


注意事项