gpt4 book ai didi

html - 使 flex 元素重叠

转载 作者:技术小花猫 更新时间:2023-10-29 12:35:52 25 4
gpt4 key购买 nike

我想展示一系列未知数量的扑克牌。为此,如果数量太多,它们将不得不重叠。我无法说服 flex box 在不缩小卡片的情况下重叠卡片。下面的例子缩小了卡片。我尝试了 flex-shrink: 0,但是 max-width 没有得到遵守。

.cards {
display: flex;
max-width: 300px;
}

.card {
width: 50px;
height: 90px;
border: 1px solid black;
border-radius: 3px;
background-color: rgba(255, 0, 0, 0.4);
}
<div class='cards'>
<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 class='card'></div>
<div class='card'></div>
<div class='card'></div>
</div>

最佳答案

下面是我如何使用 flexbox 来做到这一点。

.cards {
display: flex;
align-content: center;
max-width: 35em;
}

.cardWrapper {
overflow: hidden;
}

.cardWrapper:last-child, .cardWrapper:hover {
overflow: visible;
}

.card {
width: 10em;
min-width: 10em;
height: 6em;
border-radius: 0.5em;
border: solid #666 1px;
background-color: #ccc;
padding: 0.25em;

display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
<div class="cards">
<div class="cardWrapper">
<div class="card">card 1 blah blah blah</div>
</div>
<div class="cardWrapper">
<div class="card">card 2 blah blah blah</div>
</div>
<div class="cardWrapper">
<div class="card">card 3 blah blah blah</div>
</div>
<div class="cardWrapper">
<div class="card">card 4 blah blah blah</div>
</div>
<div class="cardWrapper">
<div class="card">card 5 blah blah blah</div>
</div>
</div>

请注意,从技术上讲,卡片并没有重叠,它们只是被裁剪了。但它们看起来 像是重叠的。诀窍是将每张卡片包装在另一个带有溢出的元素中:隐藏。

包装元素会缩小以适应可用空间,并在该空间中显示尽可能多的卡片。

我加入 :hover 规则只是为了展示如何从“堆栈”中间完全显示一张卡片,但在实际元素中,我可能会对选定的卡片而不是悬停的卡片执行此操作。

关于html - 使 flex 元素重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43919067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com