css 在不应弯曲项目 Package 时对其进行弯曲

tcbh2hod  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(107)

我在一个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>
pod7payv

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,它的项目将适合。

* {
    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;
    box-sizing: content-box;
}

.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>

相关问题