2 回答

TA貢獻1829條經驗 獲得超13個贊
通過添加box-sizing: border-box到您的項目,您將確保它們的寬度不會增長超過 33%。
如果沒有它,它們的寬度等于 33% + 1px + 1px。在某些時候,它將超過其父寬度的三分之一。
:root { box-sizing: border-box; }
.flex { display: flex; width: 100%; flex-wrap: wrap; }
.item { flex: 0 1 33%; border: 1px solid red; box-sizing: border-box; }

TA貢獻1828條經驗 獲得超3個贊
- 添加box-sizing: border-box;項目將解決您的問題。
不過,另一種選擇是使用grid而不是flex. 這允許您使用該1fr單位,當將寬度平均分配到指定數量的列時,該單位會自動考慮填充和邊框大小等因素。
.grid {
? display: grid;
? grid-template-columns: repeat(3, 1fr);
}
.item {
? border: 1px solid red;
}
<div class="grid">
? <div class="item">Flex Item 1</div>
? <div class="item">Flex Item 2</div>
? <div class="item">Flex Item 3</div>
? <div class="item">Flex Item 4</div>
? <div class="item">Flex Item 5</div>
? <div class="item">Flex Item 6</div>
</div>
- 2 回答
- 0 關注
- 131 瀏覽
添加回答
舉報