【问题标题】:Need divs to be push down using only CSS需要仅使用 CSS 下推 div
【发布时间】:2019-09-17 02:14:08
【问题描述】:

我有这段使用 jQuery 的代码,但我想知道是否可以仅使用 CSS 来实现相同的结果。这是我在 Codepen 上的代码:https://codepen.io/dj-smoke-starboy/pen/REOgvj.

我正在努力,但直到现在,我无法仅通过使用 css 来使其工作。

$('.card').each(function(i) {
  $(this).fadeOut(1).delay(1000 * i).fadeIn(100)
});
body {
  background-color: #ddd;
  padding: 1em;
}

.cardWrap {
  display: flex;
  flex-direction: column-reverse;
}

.card {
  background: #fff;
  animation: slide 0.5s linear both;
  margin-bottom: 1em;
  opacity: 0;
  padding: 5px;
  transform: translateY(-5vh);
}

@keyframes slide {
  0% {
    filter: blur(1em);
    opacity: 0;
  }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: translateY(0);
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="cardWrap">
  <div class="card">pushed DOWN</div>
  <div class="card">10 - Itin</div>
  <div class="card">9 - Itin</div>
  <div class="card">8 - Itin</div>
  <div class="card">7 - Itin</div>
  <div class="card">6 - Itin</div>
  <div class="card">5 - Itin</div>
  <div class="card">4 - Itin</div>
  <div class="card">3 - Itin</div>
  <div class="card">2 - Itin</div>
  <div class="card">1 - Itin</div>

</div>

为了达到与使用 JS 和 jQuery 相同的结果。

【问题讨论】:

  • @Vickel 这不是重复的。这个是必须只做css的,还有用jquery做的。
  • @DogukanCavus 好的,撤回 dup,对不起我的错误,太快了...

标签: html css


【解决方案1】:

我又做了一次:)

body {
  background-color: #ddd;
  padding: 1em;
}
.cardWrap {
  display:flex;
  flex-direction:column-reverse;
}
.card { 
  background:#fff; 
  animation: slide 0.5s linear both;
  margin-bottom: 0;
  opacity: 0;
  padding:0;
  height:0px;
  width:0px;
  
}

.card:nth-child(1) {
  animation: card1 .3s forwards .5s;
}

.card:nth-child(2) {
  animation: card1 .3s forwards 1.5s;
}

.card:nth-child(3) {
  animation: card1 .3s forwards 2.5s;
}

.card:nth-child(4) {
  animation: card1 .3s forwards 3.5s;
}

.card:nth-child(5) {
  animation: card1 .3s forwards 4.5s;
}

.card:nth-child(6) {
  animation: card1 .3s forwards 5.5s;
}

.card:nth-child(7) {
  animation: card1 .3s forwards 6.5s;
}

.card:nth-child(8) {
  animation: card1 .3s forwards 7.5s;
}

.card:nth-child(9) {
  animation: card1 .3s forwards 8.5s;
}

.card:nth-child(10) {
  animation: card1 .3s forwards 9.5s;
}

.card:nth-child(11) {
  animation: card1 .3s forwards 10.5s;
}


@keyframes card1{
  to{opacity:1;height:auto;width:auto;padding:5px;margin-bottom: 1em;}
}
<div class="cardWrap">
  <div class="card">pushed DOWN</div>
  <div class="card">10 - Itin</div>
  <div class="card">9 - Itin</div>
  <div class="card">8 - Itin</div>
  <div class="card">7 - Itin</div>
  <div class="card">6 - Itin</div>
   <div class="card">5 - Itin</div>
  <div class="card">4 - Itin</div>
  <div class="card">3 - Itin</div>
  <div class="card">2 - Itin</div>
  <div class="card">1 - Itin</div>
</div>

【讨论】:

  • 谢谢,@Dogukan Cavus,这太好了,我必须为 .card:nth-child(i) 创建一个循环。你知道如何创建一个吗?谢谢kkkkssss
  • 也许可以使用 SCSS。但我知道的还不够。
  • 谢谢,我去看看怎么做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-01
相关资源
最近更新 更多