CSS定位内容小结

博客分享页面布局中多块定位方式处理心得。介绍了absolute绝对定位,会脱离文档流,依据祖先元素定位;relative相对定位,不脱离文档流,偏移参照原本位置。还提到设置定位关系时,子绝父相可保留父元素空间,避免影响外部布局。

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

在页面布局时,如果同时涉及到多个块就需要对各个块的定位方式进行处理,在看了很多关于布局的问答之后有以下心得。

首先说一下各种定位方式的区别

  • absolute 绝对定位,我理解为当一个块定位方式设置为绝对定位后,在布局中,首先会依据设置定位属性为relative/absolute/fixed的祖先元素进行定位这里要注意的是,不一定是父元素,也可以是爷爷元素,或者祖父元素,统称祖先元素,如果在向上匹配的过程中匹配到祖先元素设置了定位属性,则会相对于此祖先元素进行定位,而不会继续向上匹配,如果祖先元素全都没有设置定位属性。 则会根据body进行定位。绝对定位会脱离文档流

  • relative 相对定位,在祖先元素这个级别,如果使用相对定位,在设置偏移时会参照原本正常出现的位置进行偏移,但是原本的位置并不会被占用,所以可以避免在偏移之后其他元素布局被打乱的情况。相对定位不会脱离文档流

  • 在设置定位关系时,如果对子元素设置了相对定位,则需要对父元素或祖先元素也设置一个定位属性,对祖先元素设置定位属性并不是为了改变祖先元素的位置,而是起到一个辅助子元素定位的作用,使子元素相对于需要的父元素进行定位,而不是其他父元素。

  • 另外需要注意的是,不论是相对定位还是绝对定位,如果只设置了属性而不设置偏移,对该元素本身的位置并不影响。
    在布局时使用子绝父相的用意,我认为是需要保留父元素的空间,如果父元素设置了绝对定位,脱离文档流之后可能会影响父元素以外的布局,所以父元素采用相对定位的方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值