【玩转CSS】定位

发布于:2023-01-16 ⋅ 阅读:(423) ⋅ 点赞:(0)

目录

定位是什么?

 定位的分类

一、相对定位

二、绝对定位

 三、固定定位

 四、粘滞定位


定位是什么?

定位是一种布局的手段,而且是一种高级的布局手段,可以将任何元素摆放在页面的任意位置

        可以使用position设置定位

        可选值:

                static         默认值,不设置定位

                relative      相对定位

                absolute    绝对定位

                fixed          固定定位

                sticky         粘滞定位

        开启定位后,使用偏移量设置位置

                left            相对于定位的位置左侧的偏移量

                right          相对于定位的位置右侧的偏移量

                top            相对于定位的位置上侧的偏移量

                bottom      相对于定位的位置下侧的偏移量

 定位的分类

一、相对定位

position:relative;  开启了相对定位

        1、如果不设置偏移量,元素的位置是不会发生任何变化

        2、设置偏移量,偏移量的相对位置是相对于元素原来在文档流中的位置

        3、设置相对定位后,元素的性质不会发生变化

        4、设置相对定位后,元素的层级提高

        5、设置相对定位的元素不会脱离文档流

二、绝对定位

 

position:absolute;  开启了绝对定位

        1、设置绝对定位后,元素脱离文档流

        2、设置绝对定位后,元素的性质发生变化,不会区分块和行内了

        3、设置绝对定位后,如果不设置偏移量,元素的位置是不会发生任何变化

        4、绝对定位,它的原点是相对于其包含块来定位的

            包含块:

                1、默认情况下(没有开启定位的情况下),包含块就是元素的祖先元素

                2、如果是定位的情况下,包含块就是元素开启定位的,离它最近的祖先元素

                   如果祖先元素都没有开启定位,则包含块就是根标签

        5、设置绝对定位后,元素的层级提高

注意:

        一般情况下,为了更好控制子元素的位置,开启子元素的绝对定位后,会同步开启父元素的相对定位。这叫“子绝父相”

 三、固定定位

position:fixed;  开启了固定定位

        1、用于固定在浏览器页面上,不会随浏览器滚轮滚动而改变位置

        2、浏览器的视口为参照物,和父元素没任何关系

        3、固定定位不占有原来的位置,即脱离文档流,更改元素的性质

        4、应用场景

            -固定导航

            -广告

            -固定侧边栏

四、粘滞定位

position:sticky;  开启了粘滞定位

        1、浏览器的视口为参照物,和父元素没任何关系

        2、占有原来位置,,不会脱离文档流,性质不发生变化

        3、粘滞定位可以再元素到达某个位置时,将其固定

        4、配合top值使用,没有达到top值之前正常显示,随着滚动条滚动而移动

        到达top值之后类似固定定位,不会随着滚动条滚动而移动 

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到