我在一个600px宽的容器中有六个项目,每个项目都是100px宽。我使用box-sizing: border-box;
。最后一个项目换行到下一行。当我从容器中删除边框时,项目不再换行。但是根据我的理解,当使用'' box-sizing时:边框;这些物品不应该被 Package 。你知道是什么原因导致这些物品被 Package 吗?
* {
box-sizing: border-box;
font-family: Arial, Helvetica, sans-serif;
}
html, body {
margin: 0;
padding: 0;
background-color: rgb(244, 244, 244);
}
.container {
background-color: antiquewhite;
height: 100vh;
}
.flex-container {
margin: auto;
display: flex;
border: 1px solid black;
background-color: aqua;
width: 600px;
flex-flow: row wrap;
}
.flex-item {
border: 1px solid black;
width: 100px;
}
<div class="container">
<div class="flex-container">
<div class="flex-item">Item 1</div>
<div class="flex-item">Item 2</div>
<div class="flex-item">Item 3</div>
<div class="flex-item">Item 4</div>
<div class="flex-item">Item 5</div>
<div class="flex-item">Item 6</div>
</div>
</div>
1条答案
按热度按时间pod7payv1#
您的问题似乎是容器也缩小了 (因此六个100px宽的项目的实际空间小于600px)-正是因为它也应用了
box-sizing: border-box
。border-box告诉浏览器在您为元素的宽度和高度指定的值中考虑任何边框和填充。如果您将元素的宽度设置为100像素,则这100像素将包括您添加的任何边框或填充,并且内容框将缩小以吸收额外的宽度。
从https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing开始
将容器的
box-sizing
重新设置为content-box
,它的项目将适合。