margin-top/bottom,padding-top/bottom百分比取值的问题


一、


1.margin-top/bottom,padding-top/bottom设置为百分比时,取值为父元素宽度的百分比。
2.如果想要取父元素高度的百分比,在父元素上添加代码:

writing-mode: vertical-lr;

二、

关于为什么为W3C规定,margin和padding的取值是按照width来计算。
主要有两种说法,
1.避免高度计算的循环依赖;
2.统一基准

1.关于第一种说法:
(1)当父元素高度不固定,需要依靠子元素撑开时,计算父元素高度时回去寻找子元素高度与子元素的margin。
(2)此时子元素的margin设为百分比,则子元素margin依赖于父元素高度。
(3)此时父元素高度和子元素margin形成了死循环。
2.关于第二种说法:
这样设计师为了使“ n%”边距(和边距)与margin-top / margin-right / margin-bottom / margin-left相同,所以这四个必须相对于同一基准。如果两个百分比的相对方式不同,那用百分比就无法得到垂直和水平一致的留白。且在典型排版中,横向百分比间距更常用,所以选取了宽度来计算。

三、

我的看法:
反对第一种说法,因为宽度计算依然面临相同的循环依赖问题,但是很明显,这种问题被避免或解决了。
第二种看法虽然也只是一种推测,但是更加合理。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值