【发布时间】:2020-11-19 05:18:19
【问题描述】:
我创建了 column-count 属性以在我的 UL 中创建一个三列布局。我希望每列看起来彼此分开,并使用 column-rule 属性来实现这一点。
我想要实现的是为每一列添加顶部和底部填充。如果我向 UL 添加顶部和底部填充,它看起来像这样:
请注意,它们不再像三个单独的列。
有谁知道在不将它们连接在一起的情况下将填充添加到所有列的方法?
关键点:
- 此列表中的项目数可能会有所不同。 (否则,我会考虑在 CSS 中使用 nth-child)。
- 我曾考虑过使用带有环绕功能的 flex,但是,我认为这需要一个固定的高度。 (如果我错了,请纠正我。)
- 目标是将所有列表项归入一个 UL。
body {
font-family: system-ui;
background: white;
text-align: center;
}
ul{
font-size: 1.3rem;
line-height: 2.3em;
flex-basis: 100%;
flex-wrap: wrap;
background: pink;
margin: 0px;
column-count: 3;
column-rule: 15px solid
white;
list-item-style: none;
list-style: none;
margin: 0px;
padding: 10px 0px;
}
li{
border: 1px solid red;
margin: 0px;
}
<ul>
<li>
<a href="#">Test item</a>
</li>
<li>
<a href="#">Test item</a>
</li>
<li>
<a href="#">Test item</a>
</li>
<li>
<a href="#">Test item</a>
</li>
<li>
<a href="#">Test item</a>
</li>
<li>
<a href="#">Test item</a>
</li>
<li>
<a href="#">Test item</a>
</li>
<li>
<a href="#">Test item</a>
</li>
<li>
<a href="#">Test item</a>
</li>
<li>
<a href="#">Test item</a>
</li>
<li>
<a href="#">Test item</a>
</li>
<li>
<a href="#">Test item</a>
</li>
<li>
<a href="#">Test item</a>
</li>
<li>
<a href="#">Test item</a>
</li>
<li>
<a href="#">Test item</a>
</li>
<li>
<a href="#">Test item</a>
</li>
<li>
<a href="#">Test item</a>
</li>
</ul>
【问题讨论】:
标签: html css flexbox css-multicolumn-layout