css的position(定位)样式

2021-02-20  本文已影响0人  HGS

一、定位的作用

二、定位的种类

  1. 相对定位

    • 未脱离普通流
    • 元素本身在普通流中的位置没有发生变化,只是视觉上的变化
    • 注意和margin、负margin的区别,margin的偏移会使元素的普通流位置发生改变。
  2. 绝对定位

    • 一定要有参考点,一般需要给父亲设置position: relative; 对父亲没影响,但是可以作为自己的参考点。
    • 会完全脱离普通流,其他元素(包括父元素)无法发现绝对定位元素的存在,会出现相互覆盖的情况。
    • left: 10px; 是自己的外边距相对于参考元素的边框内壁偏移10px。
    • 如果不设置left/top,或者设为auto,则绝对定位元素的位置处于默认位置。
    • 绝对定位元素的宽度是收缩的,一般需要设置固定宽度。
    • 给行内元素设置绝对定位后就有了块级特性,可以设置宽高。
  3. 固定定位

    • 相对于浏览器窗口
    • 一定要设置top/bottom,否则可能会出现无法展示的情况

三、position的值

1. static:默认值,表示没有定位,有时候也可以覆盖去掉定位样式,恢复原状。

2. relative定位

relative默认的位置 relative定位是相对于自己默认位置进行偏移

②验证其是否还处于文档流中原本的位置,如图所示,a元素相对定位后,b元素没有因为a元素从本来的位置移开上移,证明a元素真正位置依旧是原本所占的位置,只是视觉移动。


文档流原本位置 b元素没有因为a元素的移动改变位置,证明a元素只是视觉移动而已,文档流的位置没有改变

3. absolute定位

a元素采用absolute定位偏移后,b元素上移了,证明a元素已经不处于文档流中的位置了

4. fixed定位:

5. sticky定位

⑥如果出现多个sticky,放置在并列的多个块级容器内,会出现下一个sticky元素把上一个推走的效果

推走

参考:
饥人谷课件
https://www.jianshu.com/p/0465b35ec1dd
https://ruanyifeng.com/blog/2019/11/css-position.html

上一篇 下一篇

猜你喜欢

热点阅读