**定位**

本文详细介绍了CSS中的定位技术,包括position的static、relative、absolute、fixed和sticky五种取值,以及位移属性top、right、bottom、left的使用。同时,分析了不同定位方式对元素的影响,如层级处理和文档流的变化。此外,还讨论了浮动与绝对定位的异同,并提供了元素在浏览器窗口和容器内居中的多种实现方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

属性: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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值