美文网首页
简易的倒计时动画-CSS实现

简易的倒计时动画-CSS实现

作者: 在小白的路上越走越远 | 来源:发表于2021-01-24 10:37 被阅读0次

以下代码参考:https://blog.csdn.net/whqet/article/details/19899733

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      body {
        background: #333;
      }
      .cell {
        width: 1em;
        height: 1em;
        border: 1px dashed rgba(255, 255, 255, 0.1);
        font-size: 120px;
        font-family: Frijole;
        overflow: hidden;
        position: absolute;
        top: 50%;
        left: 50%;
        margin: -0.5em 0 0 -0.5em;
      }
      .num {
        position: absolute;
        width: 1em;
        color: #e53f39;
        line-height: 1em;
        text-align: center;
        text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.3);
        animation: run 5s steps(5) forwards;
      }
      .num>span{
          cursor: pointer;
      }
      @keyframes run {
        0% {
          transform: translate(0,0);
        }

        100%{
            transform: translate(0,-5em);
        }
      }
    </style>
  </head>
  <body>
    <div class="overlay"></div>
    <div class="cell">
      <div class="num">5 4 3 2 1  <span>X</span></div>
    </div>
  </body>
</html>

思路:通过移动num的位置,让其看上去有跳动的效果。

用CSS动画实现倒计时的背景:JS造成阻塞,无法通过setTimeout和requestanimationframe实现倒计时效果。
而通过CSS实现倒计时如何让页面不卡顿,重点在于使用了transform.
transform和opacity不会引起页面的重绘重排,故在JS阻塞的情况下,依然能正常渲染。

      @keyframes run {
        0% {
          transform: translate(0,0);
        }

        100%{
            transform: translate(0,-5em);
        }

如果采用定位的 top 等方式,会导致页面重绘重排,在JS阻塞,页面卡顿的情况下,依然不能很好的实现倒计时。

      @keyframes run {
        0% {
          top:0;
        }

        100%{
            top:-5em;
        }

transfrom与opacity资料参考:https://blog.csdn.net/devcloud/article/details/102739651

相关文章

  • css3动画和js动画的比较

    css实现动画:animation transition transformjs实现动画: setInterval...

  • Vue.js 过渡动画

    1. css实现过度 transition 动画 css-transform动画 动态组件 上述动画,如果设置mo...

  • web动画的几种实现方法

    web动画的几种实现方法 css3动画 setTimeout/setInterval实现 requestAnima...

  • mxgraph示例解析(二) animation动画实现

    官方示例 实现原理 获取连线 添加动画 动画实现 简化示例 css js

  • 05.React高级部分(下)

    React中实现CSS过渡动画 React中使用CSS动画效果 修改style.css文件 使用react-tra...

  • 10.React中CSS动画19-04-30

    一.React中实现CSS过渡动画 App.js style.css 一.React中使用CSS动画 style....

  • CSS3 动画

    动画属性 动画(animation)是CSS3新增的属性,动画属性可以为元素创建动画,CSS3以前在网页上实现动画...

  • css3动画

    css3动画 CSS3 可以创建动画,它可以取代许多网页动画图像、Flash 动画和 JavaScript 实现的...

  • js动画

    css动画: css动画的优点: 代码量少:通过简单的属性配置,就可以实现各种动画效果; 执行效率高:因为css代...

  • 彩虹发光字体光效

    依赖css3动画实现

网友评论

      本文标题:简易的倒计时动画-CSS实现

      本文链接:https://www.haomeiwen.com/subject/wcdbzktx.html