模拟 flex-direction:row 使用 display:grid
Simulate flex-direction:row using display:grid
是否可以使用 display: grid
重新创建它
和 gap
而不是 display: flex
和 margin
,CSS 不知道有多少项目?
.item {
width: 50px;
height: 50px;
flex-basis: 50px;
flex-grow: 0;
flex-shrink: 0;
background: orange;
margin-right: 10px;
}
.item:last-child {
margin-right: 0;
}
#items {
display: flex;
flex-direction: row;
padding: 10px;
margin: 10px;
border: 2px solid red;
width: fit-content;
}
<div id="items">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
有没有办法告诉 display: grid
元素您希望额外的项目出现在新列而不是新行中?
这是你需要的
display: grid;
grid-template-columns: repeat(4, 1fr);
gap:10px;
我没有看到有多少物品,
然后 temani afif 得到了你
grid-auto-flow: column;
gap:10px;
``
在 id
#items
上使用 grid-auto-flow: column;
和您的网格显示。这相当于使用 flex
.
时的 flex-direction: row;
.item {
width: 50px;
height: 50px;
flex-basis: 50px;
flex-grow: 0;
flex-shrink: 0;
background: orange;
margin-right: 10px;
}
.item:last-child {
margin-right: 0;
}
#items {
display: grid;
grid-auto-flow: column;
padding: 10px;
margin: 10px;
border: 2px solid red;
width: fit-content;
}
<div id="items">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
是否可以使用 display: grid
重新创建它
和 gap
而不是 display: flex
和 margin
,CSS 不知道有多少项目?
.item {
width: 50px;
height: 50px;
flex-basis: 50px;
flex-grow: 0;
flex-shrink: 0;
background: orange;
margin-right: 10px;
}
.item:last-child {
margin-right: 0;
}
#items {
display: flex;
flex-direction: row;
padding: 10px;
margin: 10px;
border: 2px solid red;
width: fit-content;
}
<div id="items">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
有没有办法告诉 display: grid
元素您希望额外的项目出现在新列而不是新行中?
这是你需要的
display: grid;
grid-template-columns: repeat(4, 1fr);
gap:10px;
我没有看到有多少物品, 然后 temani afif 得到了你
grid-auto-flow: column;
gap:10px;
``
在 id
#items
上使用 grid-auto-flow: column;
和您的网格显示。这相当于使用 flex
.
flex-direction: row;
.item {
width: 50px;
height: 50px;
flex-basis: 50px;
flex-grow: 0;
flex-shrink: 0;
background: orange;
margin-right: 10px;
}
.item:last-child {
margin-right: 0;
}
#items {
display: grid;
grid-auto-flow: column;
padding: 10px;
margin: 10px;
border: 2px solid red;
width: fit-content;
}
<div id="items">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>