【发布时间】:2017-10-10 16:07:30
【问题描述】:
我想展示一系列未知数量的扑克牌。为此,如果太多,它们将不得不重叠。我无法说服弹性盒在不缩小卡片的情况下重叠卡片。下面的例子缩小了卡片。我试过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>
【问题讨论】:
-
如果你想让它们重叠,为什么要使用 flex,它不是填充空间吗?
-
重叠部分可以只使用负边距吗?
-
负边距适用于给定数量的卡片。但它必须为每张卡片和每张卡片的总数而改变。我正在寻找更灵活的东西。
-
您能更具体地说明您想要实现的目标吗?什么是“太多”?您希望它们如何准确重叠。你在回复@StefanBob 时用“它必须为每张卡片和每张卡片的总数而改变。我正在寻找更灵活的东西。” 是什么意思?那得怎么改?为什么?那里的逻辑是什么? “更灵活”是什么意思?
-
@MichaelCoker 我试图让卡片以类似于这张图片的方式扇出:shpgames.com/zero-mod/fan.jpg(但没有曲线)。卡片不应调整大小 - 它们应始终保持 50 x 90 像素。因此,如果容器的最大宽度为 300 像素宽,则最多可以容纳 6 张卡片且不重叠。一旦添加了第七个,就会有轻微的重叠。如果有 50 张卡片,由于重叠,您只能看到每张卡片 6 个像素。所以我希望 flex 容器可以处理这个计算。