我正在尝试创建一叠可以是任何数量的卡的卡。
当我悬停时,它们应该稍微折叠起来。这起作用,但只是在某种程度上。当屏幕大小完美时,一切看起来都很好,但随后如我下面的例子所示,最后一张牌开始将它们自己放置在远离卡片堆的地方。
这很可能是因为我对网格缺乏经验。
有没有人能在正确的方向上帮助我,或者也许有一个更好的解决方案不使用网格?
**此选项不再适用:**更改黄色框的宽度并在绿色框内进行侧滚动,以查看对牌堆的影响。
我已经更新了这篇文章与工作解决方案的基础上@保罗解决方案。
/*.wrapper-yellow {
min-width: 30px;
resize: horizontal;
overflow: auto;
max-width: fit-content;
padding:20px;
border: 2px solid yellow;
border-radius: 8px;
}*/
.wrapper-list {
/*
Old Solution commented out, new code based on Pauls anwser
display: grid;
grid-template-columns: repeat(auto-fill, minmax(17px, 1fr));
grid-gap: 0%;*/
display: flex;
flex-direction: row;
margin-top: 8px;
margin-bottom: 8px;
padding:10px;
border: 2px solid green;
border-radius: 8px;
overflow-x: scroll;
-ms-overflow-style: none;
scrollbar-width: none;
}
.wrapper-list:hover > div:not(:first-child) {
cursor: pointer;
/* grid-gap: 1%;*/
margin-left: -125px;
}
.wrapper-list::-webkit-scrollbar {
display: none;
}
.card {
position: relative;
height: 114px;
width: 164px;
flex-shrink: 0;
background-color: red;
border: 2px solid blue;
border-radius: 8px;
display: inline-block;
flex-shrink: 0;
transition: all 0.3s ease-in-out;
}
/*.wrapper-list div:nth-child(n) {
grid-row: 1 / 1;
}*/
.wrapper-list div:not(:first-child) {
margin-left: -150px;
}
<!-- <div class="wrapper-yellow"> -->
<div class="wrapper-list">
<div class="card" style="z-index:25"></div>
<div class="card" style="z-index:24"></div>
<div class="card" style="z-index:23"></div>
<div class="card" style="z-index:22"></div>
<div class="card" style="z-index:21"></div>
<div class="card" style="z-index:20"></div>
<div class="card" style="z-index:19"></div>
<div class="card" style="z-index:18"></div>
<div class="card" style="z-index:17"></div>
<div class="card" style="z-index:16"></div>
<div class="card" style="z-index:15"></div>
<div class="card" style="z-index:14"></div>
<div class="card" style="z-index:13"></div>
<div class="card" style="z-index:12"></div>
<div class="card" style="z-index:11"></div>
<div class="card" style="z-index:10"></div>
<div class="card" style="z-index:9"></div>
<div class="card" style="z-index:8"></div>
<div class="card" style="z-index:7"></div>
<div class="card" style="z-index:6"></div>
<div class="card" style="z-index:5"></div>
<div class="card" style="z-index:4"></div>
<div class="card" style="z-index:3"></div>
<div class="card" style="z-index:2"></div>
<div class="card" style="z-index:1"></div>
</div>
<!-- </div>-->
2条答案
按热度按时间goqiplq21#
嗯,我得到了一些类似的工作使用这个代码...
......用这个CSS ......
没有重复的z轴或对卡类的引用。
公平地说,这有点混乱,但是可以达到你想要的效果。虽然可能有一百种更好的方法可以达到这个效果,但是我不是一个真正的CSSMaven。
只是为了补充这一点,要颠倒甲板的外观,只需更改数字的
hover
和margin-left
,像这样...nfzehxib2#
我对您的
css
做了一些更改,请检查这是否是您所期望的。