【发布时间】:2020-10-10 03:03:00
【问题描述】:
在使用 CSS Columns 创建多列、蛇形布局时,似乎内容想要自然地向右溢出。我正在寻找一种会溢出到父容器的固定高度以下的解决方案。
例如:
这是当内容达到固定高度的限制并溢出时的自然流动:
---------
|[1] [4]| [7]
|[2] [5]| [8]
|[3] [6]| [9]
---------
这就是我希望它溢出的方式:
---------
|[1] [4]|
|[2] [5]|
|[3] [6]|
---------
[7]
[8]
[9]
示例 HTML
<div class="page">
<div class="column">
<div class="item">
Test Item 1
</div>
<div class="item">
Test Item 2
</div>
<div class="item">
Test Item 3
</div>
<div class="item">
Test Item 4
</div>
<div class="item">
Test Item 5
</div>
<div class="item">
Test Item 6
</div>
<div class="item">
Test Item 7
</div>
<div class="item">
Test Item 8
</div>
<div class="item">
Test Item 9
</div>
<div class="item">
Test Item 10
</div>
<div class="item">
Test Item 11
</div>
<div class="item">
Test Item 12
</div>
<div class="item">
Test Item 13
</div>
<div class="item">
Test Item 14
</div>
<div class="item">
Test Item 15
</div>
<div class="item">
Test Item 16
</div>
<div class="item">
Test Item 17
</div>
<div class="item">
Test Item 18
</div>
<div class="item">
Test Item 19
</div>
<div class="item">
Test Item 20
</div>
<div class="item">
Test Item 21
</div>
</div>
</div>
示例 CSS
.page {
width: 400px;
height: 300px;
background: #ddd;
}
.column {
column-count: 2;
height: 300px;
padding: 20px;
box-sizing: border-box;
}
.item {
padding: 8px 10px;
break-inside: avoid;
break-before: always;
}
这是一个 Codepen 示例:https://codepen.io/Nikolnikov/pen/yLJLpQp
有什么建议吗?它甚至可行吗?
【问题讨论】:
-
请在问题中包含您的 HTML 和 CSS。
-
我包含了一个 Codepen 示例。这还不够吗?
-
不,谢谢你的提问;根据网站规则,代码必须在问题本身中。如果和/或当 CodePen 被移除或 CodePen 本身出现故障时,由于缺乏必要的细节,问题变得无法回答。如果它是一个答案,那么这个答案也会因为同样的原因失去它的用处。
-
不可能有确切的效果,但是互联网上有一些很好的列处理方法。如果您想要我的回答 - 首先我需要知道原因是什么 - 响应性或限制内容空间的奇怪想法
标签: css css-multicolumn-layout