此代码使用CSS网格和minmax(30rem, 1fr)
。
grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
一切正常,但是当viewportparent container 小于30rem时,会出现一个水平滚动条。我需要像minmax(min(30rem, 100%), 1fr))
这样的东西。有什么想法吗?
https://codepen.io/anon/pen/LmEyer
ul {
list-style-type: none;
padding: 0;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
grid-auto-rows: 1fr;
grid-gap: 10px;
}
li {
background-color: #aaa;
padding: 0.5rem;
}
<ul class="list">
<li>grid item</li>
<li>grid item</li>
<li>grid item</li>
<li>grid item</li>
<li>grid item</li>
<li>grid item</li>
<li>grid item</li>
<li>grid item</li>
<li>grid item</li>
<li>grid item</li>
<li>grid item</li>
<li>grid item</li>
<li>grid item</li>
<li>grid item</li>
<li>grid item</li>
<li>grid item</li>
<li>grid item</li>
<li>grid item</li>
<li>grid item</li>
<ul>
2条答案
按热度按时间nlejzf6q1#
你自己回答了这个问题!!你可以使用
min()
函数来实现:codepen
我推荐使用这个article来了解更多关于将
clamp
和min()
与grid-template-column
结合的信息lvmkulzt2#
当屏幕宽度为
30rem
时,听起来你有一个断点。这需要一个媒体查询。将此添加到您的代码:
revised codepen