**定位**

发布于:2023-01-10 ⋅ 阅读:(385) ⋅ 点赞:(0)

含义:让元素去某个位置,或者相对于某一个元素进行位置的改变

属性:position:;

取值:

1、static;静态定位(默认)元素正常显示,位置不变

(该怎么显示就怎么显示,即使配合位移属性,元素位置也不会发生变化)

2、relative;相对定位,相对于自己的默认位置进行位置的改变(让元素位置发生微调,不会影响到其他元素)

3、absolute;绝对定位

父子关系中

a、子元素添加绝对定位,父元素没有定位,子元素参照浏览器窗口左上角进行位置的改变(位置的偏移)

b、子元素添加绝对定位,父元素有定位(通常使用相对定位,父相子绝),子元素参照其已定位的父元素左上角进行位置的改变(位置的偏移)

绝对定位元素会找到最近的定位元素(除了静态定位)

4、fixed;固定定位,元素相对于浏览器窗口进行定位(位置的改变),只显示在窗口范围内,不受滚动条的影响。

应用场景:返回顶部、广告、楼梯层效果

5、sticky;粘性定位

应用场景:常用来实现吸顶效果

位移属性:

top/right/bottom/left(水平方向只取一个值,垂直方向同理)

正值向元素中心移动,负值向元素四周扩散

定位元素的层级属性

z-index : auto/number 设置定位对象的层叠顺序。

auto:默认值。效果等同于0。

number:无单位的整数值。可为负数,数值越大,层级顺序越高

定位带来的影响

1、相对定位带来的影响:

          a、元素添加相对定位不会脱离文档流,占据默认位置的空间

          b、多个元素同时相对定位,默认后面定位元素会覆盖前面的定位元素,想要调整层级关系,需要使用层级属性z-index

2、绝对定位带来的影响:

          a、元素添加绝对定位脱离文档流,不占位置,后面不定位元素会自动补位。

          b、多个元素同时绝对定位,默认后面定位元素会覆盖前面的定位元素,想要调整层级关系,需要使用层级属性z-index

浮动与绝对定位

不同点:

    浮动:

         浮动元素半脱离文档流,后面补位元素有文本内容,会实现文本环绕效果

    绝对定位:

         绝对定位元素完全脱离文档流,后面补位元素有文本内容,不会实现文本环绕效果。

相同点:

        1、如果后面补位元素中没有文本内容实现效果相同

        2、都能触发BFC机制,形成独立的区域(解决子元素margin-top作用在父元素上)。

        3、都能将元素转换成块元素

        4、添加margin:0  auto;不生效,因为脱离了文档流

        5、给宽度自适应元素添加浮动或绝对定位,元素宽度变为由内容撑开的宽度自适应。

元素在浏览器窗口水平垂直居中

方法一:

position:fixed;/position:absolute;

top:50%;

left:50%;

margin-top:元素高度一半的负值

margin-left:元素宽度一半的负值

方法二:

position:fixed;/position:absolute;

top: 0;

right: 0;

bottom: 0;

left: 0;

margin: auto;

元素在容器中水平垂直居中

方法一:

容器添加position:relative;

top:50%;

left:50%;

margin-top:元素高度一半的负值

margin-left:元素宽度一半的负值

方法二:

容器添加position:relative;

position:absolute;

top: 0;

right: 0;

bottom: 0;

left: 0;

margin: auto;

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

网站公告

今日签到

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