也许有时 box-sizing:border-box' 它不能正常工作?
Maybe sometimes box-sizing:border-box' it doesn't work properly?
html {
box-sizing: border-box;
}
*,
*::before,
*::after {
box-sizing: inherit;
}
.box {
height: 100px;
width: 500px;
padding: 20px;
border: 40px solid black;
background-color: blue;
}
<div class="box">
With border-box - with padding & border
</div>
带边框 - 带填充和边框
为什么在上面的示例中仅从顶部和左侧应用填充?
再次明确:box-sizing: border-box;
让方框包含边框到块的宽度和高度计算中。
不适用padding-bottom因为你设置的是height: 100px
的框
但是接下来您要设置 40 像素的边框和 20 像素的填充。所以如果你考虑一下它达到:40px + 40px + 20px + 20px = 120px 仅用于填充和边框。
所以这超过了您设置的区块高度 120px > 100px。所以 html 尽量根据你告诉它的内容做到最好。
我建议如下:
.box {
min-height: 100px;
height: auto;
}
演示:
html {
box-sizing: border-box;
}
*,
*::before,
*::after {
box-sizing: inherit;
}
.box {
min-height: 100px;
height: auto;
width: 500px;
padding: 20px;
border: 40px solid black;
background-color: blue;
}
<div class="box">
With border-box - with padding & border
</div>
html {
box-sizing: border-box;
}
*,
*::before,
*::after {
box-sizing: inherit;
}
.box {
height: 100px;
width: 500px;
padding: 20px;
border: 40px solid black;
background-color: blue;
}
<div class="box">
With border-box - with padding & border
</div>
带边框 - 带填充和边框
为什么在上面的示例中仅从顶部和左侧应用填充?
再次明确:box-sizing: border-box;
让方框包含边框到块的宽度和高度计算中。
不适用padding-bottom因为你设置的是height: 100px
但是接下来您要设置 40 像素的边框和 20 像素的填充。所以如果你考虑一下它达到:40px + 40px + 20px + 20px = 120px 仅用于填充和边框。
所以这超过了您设置的区块高度 120px > 100px。所以 html 尽量根据你告诉它的内容做到最好。
我建议如下:
.box {
min-height: 100px;
height: auto;
}
演示:
html {
box-sizing: border-box;
}
*,
*::before,
*::after {
box-sizing: inherit;
}
.box {
min-height: 100px;
height: auto;
width: 500px;
padding: 20px;
border: 40px solid black;
background-color: blue;
}
<div class="box">
With border-box - with padding & border
</div>