假设一个盒子的高和宽为100px,如果设置他的padding-left:50%,那这个盒子会有什么变化?
百分比计算也分为两种
- 该元素是非定位元素,
width,height都是父元素content的高宽
margin,padding的百分比(上下左右)都是依照父元素content的宽度计算的 - 该元素为绝对定位元素
width,height都是父元素(content+padding)的高宽
margin,padding的百分比(上下左右)都是依照父元素(content+padding)的高度计算的
另外根据盒子也分俩种情况:w3c盒子和IE盒子
- w3c盒子
w3c盒模型的宽高=内容区的宽高。
设置padding-left:50%,计算父元素的宽*0.5
这样整个盒子会往右移动父元素的50%
代码区:
<style>
.box {
width: 600px;
height: 600px;
background-color: aqua;
}
.son {
box-sizing: content-box;
background-color: brown;
width: 300px;
height: 300px;
padding-left: 50%;
}
</style>
<body>
<div class="box">
<div class="son">0001</div>
</div>
</body>
效果展示:()

- IE盒模型
IE盒模型的宽高=(内容区+内边距+边框)的宽高
注意:IE盒模型,如果内容区溢出会作为扩展盒子对待,盒子的宽高就会变化。
设置padding-left:50%之前

设置padding-left:50%,
.son {
box-sizing: border-box;
padding-left: 50%;
background-color: brown;
width: 100px;
height: 100px;
}

本文探讨了CSS中设置padding-left: 50%对非定位和定位元素的影响,以及W3C盒模型和IE盒模型的区别。在W3C盒模型中,元素宽度不包括padding,而IE盒模型中宽度包含padding。当设置padding-left: 50%时,非定位元素会向右移动其父元素宽度的一半,而在IE盒模型中,元素的总宽度会因padding增加而改变。
327

被折叠的 条评论
为什么被折叠?



