修身养性,知行合一

  • 首页
  • 爱码
    • 系统
    • 数据库
    • JavaScript
    • CSharp
    • Python
  • 生活
    • 文化
    • 美食
  • 杂谈
  • 关于
修身养性,知行合一
码字,杂谈
  1. 首页
  2. 爱码
  3. 前端
  4. 正文

css实现跳动的文字

2020年3月8日 3969点热度 0人点赞 0条评论

老早老早收藏的一段代码,经过稍微修改之后,一直用到了现在,不管是我自己的网站,还是正儿八经的测试项目,我都喜欢把它放到底部作为一个比较活泼的元素。

其实内容无所谓,什么内容都可以,只需要一个div,然后通过css的animation动画通过-webkit-transform和-webkit-rotate逐帧切换样式即可。

/* start */
.my-face {
    animation: my-face 5s infinite ease-in-out;
    display: inline-block;
    margin: 0 5px;
}

    @-webkit-keyframes my-face {

    2%,
    24%,
    80% {
    -webkit-transform: translate(0, 1.5px) rotate(1.5deg);
    transform: translate(0, 1.5px) rotate(1.5deg)
    }

    4%,
    68%,
    98% {
    -webkit-transform: translate(0, -1.5px) rotate(-.5deg);
    transform: translate(0, -1.5px) rotate(-.5deg)
    }

    38%,
    6% {
    -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);
    transform: translate(0, 1.5px) rotate(-1.5deg)
    }

    8%,
    86% {
    -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);
    transform: translate(0, -1.5px) rotate(-1.5deg)
    }

    10%,
    72% {
    -webkit-transform: translate(0, 2.5px) rotate(1.5deg);
    transform: translate(0, 2.5px) rotate(1.5deg)
    }

    12%,
    64%,
    78%,
    96% {
    -webkit-transform: translate(0, -.5px) rotate(1.5deg);
    transform: translate(0, -.5px) rotate(1.5deg)
    }

    14%,
    54% {
    -webkit-transform: translate(0, -1.5px) rotate(1.5deg);
    transform: translate(0, -1.5px) rotate(1.5deg)
    }

    16% {
    -webkit-transform: translate(0, -.5px) rotate(-1.5deg);
    transform: translate(0, -.5px) rotate(-1.5deg)
    }

    18%,
    22% {
    -webkit-transform: translate(0, .5px) rotate(-1.5deg);
    transform: translate(0, .5px) rotate(-1.5deg)
    }

    20%,
    36%,
    46% {
    -webkit-transform: translate(0, -1.5px) rotate(2.5deg);
    transform: translate(0, -1.5px) rotate(2.5deg)
    }

    26%,
    50% {
    -webkit-transform: translate(0, .5px) rotate(.5deg);
    transform: translate(0, .5px) rotate(.5deg)
    }

    28% {
    -webkit-transform: translate(0, .5px) rotate(1.5deg);
    transform: translate(0, .5px) rotate(1.5deg)
    }

    30%,
    40%,
    62%,
    76%,
    88% {
    -webkit-transform: translate(0, -.5px) rotate(2.5deg);
    transform: translate(0, -.5px) rotate(2.5deg)
    }

    32%,
    34%,
    66% {
    -webkit-transform: translate(0, 1.5px) rotate(-.5deg);
    transform: translate(0, 1.5px) rotate(-.5deg)
    }

    42% {
    -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);
    transform: translate(0, 2.5px) rotate(-1.5deg)
    }

    44%,
    70% {
    -webkit-transform: translate(0, 1.5px) rotate(.5deg);
    transform: translate(0, 1.5px) rotate(.5deg)
    }

    48%,
    74%,
    82% {
    -webkit-transform: translate(0, -.5px) rotate(.5deg);
    transform: translate(0, -.5px) rotate(.5deg)
    }

    52%,
    56%,
    60% {
    -webkit-transform: translate(0, 2.5px) rotate(2.5deg);
    transform: translate(0, 2.5px) rotate(2.5deg)
    }

    58% {
    -webkit-transform: translate(0, .5px) rotate(2.5deg);
    transform: translate(0, .5px) rotate(2.5deg)
    }

    84% {
    -webkit-transform: translate(0, 1.5px) rotate(2.5deg);
    transform: translate(0, 1.5px) rotate(2.5deg)
    }

    90% {
    -webkit-transform: translate(0, 2.5px) rotate(-.5deg);
    transform: translate(0, 2.5px) rotate(-.5deg)
    }

    92% {
    -webkit-transform: translate(0, .5px) rotate(-.5deg);
    transform: translate(0, .5px) rotate(-.5deg)
    }

    94% {
    -webkit-transform: translate(0, 2.5px) rotate(.5deg);
    transform: translate(0, 2.5px) rotate(.5deg)
    }

    0%,
    100% {
    -webkit-transform: translate(0, 0) rotate(0);
    transform: translate(0, 0) rotate(0)
    }
    }

    @keyframes my-face {

    2%,
    24%,
    80% {
    -webkit-transform: translate(0, 1.5px) rotate(1.5deg);
    transform: translate(0, 1.5px) rotate(1.5deg)
    }

    4%,
    68%,
    98% {
    -webkit-transform: translate(0, -1.5px) rotate(-.5deg);
    transform: translate(0, -1.5px) rotate(-.5deg)
    }

    38%,
    6% {
    -webkit-transform: translate(0, 1.5px) rotate(-1.5deg);
    transform: translate(0, 1.5px) rotate(-1.5deg)
    }

    8%,
    86% {
    -webkit-transform: translate(0, -1.5px) rotate(-1.5deg);
    transform: translate(0, -1.5px) rotate(-1.5deg)
    }

    10%,
    72% {
    -webkit-transform: translate(0, 2.5px) rotate(1.5deg);
    transform: translate(0, 2.5px) rotate(1.5deg)
    }

    12%,
    64%,
    78%,
    96% {
    -webkit-transform: translate(0, -.5px) rotate(1.5deg);
    transform: translate(0, -.5px) rotate(1.5deg)
    }

    14%,
    54% {
    -webkit-transform: translate(0, -1.5px) rotate(1.5deg);
    transform: translate(0, -1.5px) rotate(1.5deg)
    }

    16% {
    -webkit-transform: translate(0, -.5px) rotate(-1.5deg);
    transform: translate(0, -.5px) rotate(-1.5deg)
    }

    18%,
    22% {
    -webkit-transform: translate(0, .5px) rotate(-1.5deg);
    transform: translate(0, .5px) rotate(-1.5deg)
    }

    20%,
    36%,
    46% {
    -webkit-transform: translate(0, -1.5px) rotate(2.5deg);
    transform: translate(0, -1.5px) rotate(2.5deg)
    }

    26%,
    50% {
    -webkit-transform: translate(0, .5px) rotate(.5deg);
    transform: translate(0, .5px) rotate(.5deg)
    }

    28% {
    -webkit-transform: translate(0, .5px) rotate(1.5deg);
    transform: translate(0, .5px) rotate(1.5deg)
    }

    30%,
    40%,
    62%,
    76%,
    88% {
    -webkit-transform: translate(0, -.5px) rotate(2.5deg);
    transform: translate(0, -.5px) rotate(2.5deg)
    }

    32%,
    34%,
    66% {
    -webkit-transform: translate(0, 1.5px) rotate(-.5deg);
    transform: translate(0, 1.5px) rotate(-.5deg)
    }

    42% {
    -webkit-transform: translate(0, 2.5px) rotate(-1.5deg);
    transform: translate(0, 2.5px) rotate(-1.5deg)
    }

    44%,
    70% {
    -webkit-transform: translate(0, 1.5px) rotate(.5deg);
    transform: translate(0, 1.5px) rotate(.5deg)
    }

    48%,
    74%,
    82% {
    -webkit-transform: translate(0, -.5px) rotate(.5deg);
    transform: translate(0, -.5px) rotate(.5deg)
    }

    52%,
    56%,
    60% {
    -webkit-transform: translate(0, 2.5px) rotate(2.5deg);
    transform: translate(0, 2.5px) rotate(2.5deg)
    }

    58% {
    -webkit-transform: translate(0, .5px) rotate(2.5deg);
    transform: translate(0, .5px) rotate(2.5deg)
    }

    84% {
    -webkit-transform: translate(0, 1.5px) rotate(2.5deg);
    transform: translate(0, 1.5px) rotate(2.5deg)
    }

    90% {
    -webkit-transform: translate(0, 2.5px) rotate(-.5deg);
    transform: translate(0, 2.5px) rotate(-.5deg)
    }

    92% {
    -webkit-transform: translate(0, .5px) rotate(-.5deg);
    transform: translate(0, .5px) rotate(-.5deg)
    }

    94% {
    -webkit-transform: translate(0, 2.5px) rotate(.5deg);
    transform: translate(0, 2.5px) rotate(.5deg)
    }

    0%,
    100% {
    -webkit-transform: translate(0, 0) rotate(0);
    transform: translate(0, 0) rotate(0)
    }
}
/* end */

完全复制成一个单独的css即可,然后导入即可使用。

<span class="my-face">(っ•̀ω•́)っ✎⁾⁾ 开心每一天</span>

就是博客底部的样子啦。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: CSS
最后更新:2020年3月8日

jeremyjone

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

取消回复

最新 热点 随机
最新 热点 随机
node-sass 的安装 解决端口被占的问题 vue3 组件 Props 的声明方式 给 div 添加选中状态 请求的取消 rgb 颜色小数兼容问题
node-sass 的安装
vue3上手 -- 更新 jz-gantt 小记 真丶深入理解JavaScript异步编程(最终章):手撸 Promise 真丶深入理解 JavaScript 原型和原型链(一):两个属性 docker 自动更新 MySQL升级之路(5.6-8.0) 手动实现JS防抖

(っ•̀ω•́)っ✎⁾⁾ 开心每一天

COPYRIGHT © 2021 jeremyjone.com. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

京ICP备19012859号-1

京公网安备 11010802028585号