CSS学习笔记——百分比相对于谁

本文详细探讨了CSS中百分比的使用,包括定位类(如absolute和relative)、盒子模型属性(width、height等)、背景值、transform和zoom。总结了各属性的百分比参照物,如position:absolute的百分比参照最近定位父元素,line-height相对于自身等。

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

参考:
https://blog.csdn.net/qq_44472722/article/details/105512621
https://blog.csdn.net/weixin_42182143/article/details/103161838
https://blog.csdn.net/qq_41633396/article/details/117352112
https://zhuanlan.zhihu.com/p/35530720

1.第一类——定位类

CSS中的定位分为四种,默认值 static ,相对定位 relative ,绝对定位 absolute 还有固定定位 fixed 。对于位置属性top、bottom 、left、right采用百分比形式,这四种不同定位的百分比参照物如下:

  • static:position的默认值,并没有对元素起到定位的作用,所以left、right等位置属性并不能被有效赋值,不存在定位功能上的%值。
  • absolute:相对于最近一层的设置了定位的父元素(除去static),left和right相对于width,top和bottom相对于height。
  • relative:相对于自身定位,即位置值相对于自身的宽高。
  • fixed:相对于视窗定位,即参照物为视窗。

2.第二类——盒子模型

盒子模型中常见的属性值:width、height、padding、margin、border。

  • width和height:相对于子元素的直接父元素,width相对于父元素的width,height相对于父元素的height。
  • margin和padding:不论是垂直方向或者是水平方向,都相对于直接父亲元素的width,而与父元素的height无关。
  • border-radius:相对于自身的宽度。

3.第三类——背景值

  • background-size:相对于自身的宽高。
  • background-position:相对于自身的宽高值减去背景图片的宽高值所得到的剩余值。因此,属性值"center center"和"50% 50%"是等价的,即如果设置了后者,背景图片会自动居中,不需要像定位那样还要transform偏移。

4.第四类——transform和zoom

  • transform:translate():相对于自身的宽高。
    在CSS3中还有translate3d(),表示在指定方向上进行2d偏移,是相对于自身的宽高。而transform3d()的第三个属性,指的是在z轴上的偏移,因为z-index的默认值是auto,所以%值并不能起作用,也就是说对translateZ()赋予百分比的值是无意义的。
  • transform-origin:相对于自身的宽高。
  • zoom:相对于自身的宽高。

5.第五类——字体

  • font-size:相对于直接父元素的字体大小。
  • line-height:相对于自身的字体大小。
  • text-indent:相对于直接父亲元素的宽度。

总结

  • 相对于父元素相关:
    position:absolute的top/bottom/right/left
    width和height
    margin和padding
    font-size
    text-indent

  • 相对于自身相关:
    position:relative的top/bottom/right/left
    border-radius
    background-size
    background-position(自身宽高 - 背景图片宽高)
    transform:translate()
    transform-origin
    zoom
    line-height

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值