2 回答

TA貢獻1848條經驗 獲得超2個贊
使用 Flexbox 因column wrap
錯誤而臭名昭著(請參閱下面的部分列表)。
column wrap
這種設置有很多問題,我建議盡可能遠離。請row wrap
改用 CSS Grid 或 CSS Grid。
在這種特殊情況下,列正確地包裝了內容,但 Flex 算法沒有考慮容納列表項標記所需的寬度。
為了說明這一點,下面是帶有邊框的內容:
.modal {
? width: 600px;
}
.wrapped-list {
? margin-top: 12px;
? max-height: 200px;
? display: flex;
? flex-direction: column;
? flex-wrap: wrap;
}
li {
? border: 1px solid red;
}
<div class="modal">
<ol class="wrapped-list"><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li></ol>
</div>
從第一列中可以清楚地看到,標記被排除在寬度計算之外,并且與以下列中的內容重疊。
如果您打算堅持使用column wrap
,則可以嘗試通過為所有項目添加左邊距來補償缺失的寬度,從第二列中的第一項開始。
像這樣的東西:
li:nth-child(n?+?11)?{ ??margin-left:?45px; }
.modal {
? width: 600px;
}
.wrapped-list {
? margin-top: 12px;
? max-height: 200px;
? display: flex;
? flex-direction: column;
? flex-wrap: wrap;
? overflow: auto;
}
li:nth-child(n + 11) {
? margin-left: 45px;
}
<div class="modal">
<ol class="wrapped-list"><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li><li>Student Name</li></ol>
</div>
flexbox 的部分問題列表column wrap
:
當 Flexbox 項目以列模式換行時,容器不會增加其寬度
Flexbox:當flex-direction:column,flex-wrap:wrap時,寬度計算錯誤
彈性項目是否可以與其上方的項目緊密對齊?
flex-wrap 在嵌套的 Flex 容器中不起作用
Flex 容器的高度在 Safari 中無法正常工作
Flexbox 列換行列表,無重疊項目

TA貢獻1846條經驗 獲得超7個贊
你可以這樣做:
.modal {
width: 600px;
max-height: 200px;
}
.wrapped-list {
width: 600px;
margin-top: 12px;
max-height: 200px;
display: flex;
flex-direction: column;
flex-wrap: wrap;
overflow-x:auto;
}
.wrapped-list li{
padding-right:50px;
}
<div class="modal">
<ol class="wrapped-list">
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
<li>Student Name</li>
</ol>
</div>
- 2 回答
- 0 關注
- 164 瀏覽
添加回答
舉報