当前位置: 首页 > 知识库问答 >
问题:

为什么我的第二个,延迟的CSS动画是混乱的一切?

潘志国
2023-03-14

我只是动画一个简单的文本,然后,一段时间后,我希望它消失,然而,出现了几个问题:

>

  • 当它第一次淡出时,您可以看到不透明度值根本没有得到尊重,文本几乎是突然出现的。

    当它淡出时,你可以看到移动是怪异的,不透明度过渡运行在移动之后。

    null

    #container {
      width: 960px;
      height: 200px;
      border: 1px solid black;
      position: absolute;
    }
    
    #message {
      position: relative;
      z-index: 2;
      color: black;
      font-size: 18px;
      opacity: 0;
      top: 60px;
      left: 100px;
      transform: translate3d(0, -25px, 0);
      animation: showMessage 1.5s ease 1.5s forwards, hideMessage 1.5s ease 4s forwards;
    }
    
    @keyframes showMessage {
        0% {
            opacity: 0;
            transform: translate3d(0, -25px, 0);
        }
    
        100% {
            opacity: 100;
            transform: translate3d(0, 0, 0);
        }
    }
    
    @keyframes hideMessage {
        0% {
            opacity: 100;
            transform: translate3d(0, 0, 0);
        }
    
        100% {
            opacity: 0;
            transform: translate3d(-25px, 0, 0);
        }
    }
    <div id="container">
      <div id="message">
        Hey, look at me!
      </div>
    </div>

    null

    什么给了?如果我移除第二个动画,一切就会恢复正常。

  • 共有1个答案

    路奇
    2023-03-14

    属性opacity从0变为1,因此更改几乎是即时发生的。关于离开时的奇怪动作,我觉得很好。

    null

    #container {
      width: 960px;
      height: 200px;
      border: 1px solid black;
      position: absolute;
    }
    
    #message {
      position: relative;
      z-index: 2;
      color: black;
      font-size: 18px;
      opacity: 0;
      top: 60px;
      left: 100px;
      transform: translate3d(0, -25px, 0);
      animation: showMessage 1.5s ease 1.5s forwards, hideMessage 1.5s ease 4s forwards;
    }
    
    @keyframes showMessage {
        0% {
            opacity: 0;
            transform: translate3d(0, -25px, 0);
        }
    
        100% {
            opacity: 1;
            transform: translate3d(0, 0, 0);
        }
    }
    
    @keyframes hideMessage {
        0% {
            opacity: 1;
            transform: translate3d(0, 0, 0);
        }
    
        100% {
            opacity: 0;
            transform: translate3d(-25px, 0, 0);
        }
    }
    html lang-html prettyprint-override"><div id="container">
      <div id="message">
        Hey, look at me!
      </div>
    </div>
     类似资料:
    • 问题内容: 什么是Java的延迟加载?我不明白这个过程。有人可以帮助我了解延迟加载的过程吗? 问题答案: 假设您有一个父母,而那个父母有很多孩子。Hibernate现在可以“延迟加载”子级,这意味着它在加载父级时实际上并不会加载所有子级。而是在要求时加载它们。您可以显式地请求此请求,或者,更常见的是,当您尝试访问孩子时,hibernate会自动加载它们。 延迟加载可以帮助显着提高性能,因为通常您不

    • 问题内容: Java中的延迟加载是什么?我不明白这个过程。有人可以帮助我了解延迟加载的过程吗? 问题答案: 假设你有一个父母,而那个父母有很多孩子。Hibernate现在可以“延迟加载”子级,这意味着在加载父级时,它实际上并未加载所有子级。而是在要求时加载它们。你可以显式地请求此请求,也可以是更常见的情况,当你尝试访问孩子时,hibernate会自动加载它们。 延迟加载可以帮助显着提高性能,因为通

    • 问题内容: 我需要在循环中对数据库进行SQL查询: 更好的方法是:保持原样或循环后移动: 或者是其他东西 ? 问题答案: 整个要点是直到函数返回才执行,因此将其放置在要关闭的资源打开后的适当位置。但是,由于要在循环内创建资源,因此根本不要使用defer- 否则,在函数退出之前,您不会关闭在循环内创建的任何资源,因此它们会堆积直到然后。相反,您应该在每次循环迭代结束时关闭它们, 而无需 :

    • 我试图理解延迟和延迟订阅操作符之间的区别。 本文件描述了延迟操作员: 延迟操作符通过在发出每个源可观察项之前暂停特定的时间增量(您指定)来修改其源可观察项。这会将可观测项发出的整个项目序列在时间上向前移动指定的增量 delaySubscription是这样描述的: 还有一个操作符,您可以使用它延迟对源可观察对象的订阅:delaySubscription。 然而,当我测试这两个操作员的行为时,我觉得

    • 1、mybatis 是否支持延迟加载? 延迟加载其实就是讲数据加载时机推迟,比如推迟嵌套查询的时机。 延迟加载可以实现先查询主表,按需实时做关联查询,返回关联表结果集,一定程度上提高了效率。 mybatis仅支持关联对象association和关联集合对象collection的延迟加载,association是一对一,collection是一对多查询,在mybatis配置文件中可以配置lazylo

    • 问题内容: 什么是参数: 如果我这样做: 并具有两个Localizable.strings版本(英语和西班牙语),每个版本是否都需要输入: 英语难道不是多余的吗? 问题答案: 注释字符串被应用程序忽略。它用于翻译者的利益,可在您的应用程序中找到的键的上下文用法中添加含义。 例如,键在给定语言中的取值可能不同,具体取决于该短语在该语言中需要使用的正式或非正式程度(“ Whats up World”,