html - 如何以不同的延迟定位相同的动画

标签 html css class css-transitions fadein

我有两个 div,每个包含一个词。每个单词中的每个字母都在一个 span 标签内,如下所示:

<div class="fade-in">
   <span>h</span><span>e</span><span>l</span><span>l</span><span>o</span>
</div>

<div class="fade-in">
   <span>w</span><span>o</span><span>r</span><span>l</span><span>d</span>
</div>

在我的 css 文件中,我创建了一个淡入淡出的动画,如下所示:

.fade-in span{
  opacity: 0;
  animation-name: fadeInOpacity;
  animation-iteration-count: 1;
  animation-timing-function: ease-in;
  animation-duration: 2s;
  animation-fill-mode: forwards;
}

@keyframes fadeInOpacity {
  0% {opacity: 0;}
  100% {opacity: 1;}
}

然后添加延迟以使字母按顺序淡出,如下所示:

.fade-in span:nth-child(1)  { animation-delay: 400ms; }
.fade-in span:nth-child(2)  { animation-delay: 500ms; }
.fade-in span:nth-child(3)  { animation-delay: 600ms; }
.fade-in span:nth-child(4)  { animation-delay: 700ms; }
.fade-in span:nth-child(5)  { animation-delay: 800ms; }

好吧,这行得通,但是两个词同时开始淡入。我想要的是第二个单词的第一个字母在第一个单词的最后一个字母之后开始淡入。我对开发还很陌生,但我猜肯定有比创建新动画更好的方法。

有没有办法为同一动画添加不同的延迟并针对不同的类或 ID?感谢您的宝贵时间。

最佳答案

HTML:

    <div class="fade-in" id="hello">
    <span>h</span><span>e</span><span>l</span><span>l</span><span>o</span>
    </div>

    <div class="fade-in" id="world">
    <span>w</span><span>o</span><span>r</span><span>l</span><span>d</span>
    </div>      

CSS:

    #hello .fade-in span:nth-child(1)  { animation-delay: 300ms; }
    #hello .fade-in span:nth-child(2)  { animation-delay: 400ms; }
    #hello .fade-in span:nth-child(3)  { animation-delay: 500ms; }
    #hello .fade-in span:nth-child(4)  { animation-delay: 600ms; }
    #hello .fade-in span:nth-child(5)  { animation-delay: 700ms; }


    #world .fade-in span:nth-child(1)  { animation-delay: 900ms; }
    #world .fade-in span:nth-child(2)  { animation-delay: 1000ms; }
    #world .fade-in span:nth-child(3)  { animation-delay: 1100ms; }
    #world .fade-in span:nth-child(4)  { animation-delay: 1200ms; }
    #world .fade-in span:nth-child(5)  { animation-delay: 1300ms; }     

关于html - 如何以不同的延迟定位相同的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40409398/

相关文章:

php - 如何使用 php 类和对象与 mysql 数据库通信 - oop 初学者

javascript - 是什么阻止我在 ng-grid 中选择内容?

jquery - slicknav 不适用于 jquery.mobile

css - 增加 col-lg-* 的大小

c++ - 运算符不应该是常量,但可以是

c++ - C++中如何访问类变量

html - 如何将 div 框推到另一个下方?在 Bootstrap 中

javascript - Angularjs $http 在第一次调用后未返回 ng-click 调用

html - CSS - 在定义规则时,先放置元素然后放置类,而不仅仅是类,这有什么意义?

html - 使用 CSS 更改 .png 颜色