【发布时间】:2020-03-11 07:32:30
【问题描述】:
我有一个这样的 CSS。
我想根据卡片的元素个数动态改变卡片的位置到中心或右对齐:
.section {
display: flex;
flex-wrap: wrap;
background-color: #ffabaf;
max-width: 80vw;
}
.card {
width: 90px;
height: 90px;
background-color: #afafbb;
border: 3px solid;
}
<div class="section">
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
</div>
例如,当卡片元素的数量为3或更少时,我想像这样将元素居中:
.section {
display: flex;
flex-wrap: wrap;
background-color: #ffabaf;
max-width: 80vw;
justify-content: center;
}
.card {
width: 90px;
height: 90px;
background-color: #afafbb;
border: 3px solid;
}
<div class="section">
<div class="card"></div>
<div class="card"></div>
<div class="card"></div>
</div>
当卡片元素数量为4个或更多时,我想像这样将元素左对齐或右对齐:
.section {
display: flex;
flex-wrap: wrap;
background-color: #ffabaf;
max-width: 80vw;
/* justify-content: left; OR*/
justify-content: right;
}
.card {
width: 90px;
height: 90px;
background-color: #afafbb;
border: 3px solid;
}
<div class="section">
<div class="card">1</div>
<div class="card">2</div>
<div class="card">3</div>
<div class="card">4</div>
<div class="card">5</div>
<div class="card">6</div>
</div>
我尝试使用 Flex、Grid 来实现这些,但我做不到。是否可以使用 CSS、Flexbox 或 Grid Layout 来实现上述操作?
【问题讨论】:
-
似乎你想根据它的孩子来改变父母的风格,现在没有
javascript这是不可能的,看看这里stackoverflow.com/questions/1014861/…