css3字体效果-CSS3_01:好玩的动画带文字渐变效果,这篇文章满足你,实现方法+案例完整源码

前面会有一系列关于css动画的文章,关注布衣后端css3字体效果,实时获取。

在后端开发过程中,有时需要在页面上显示特殊的文字效果。 这时普通的文字颜色或阴影就不能满足需求了。 这时,css的线性渐变就派上用场了。

CSS技术栈应用于文本渐变

linear-gradient(0deg, #00DFA2 25%, #F6FA70);background-cliptext;-webkit-background-clip: text;-webkit-text-fill-color: transparent;filter: drop-shadow(2px 2px 0.1rem #fff);animationvariation 5s cubic-bezier(0.87, 0, 0.13, 1) infinite;

先看一下整体效果

仔细一看,一共有五行文字,第一行是没有任何特效的普通文字,第二行是线性渐变的角度补间动画效果,从0deg到330deg,顺时针方向的效果可以居然改成抗二次,显示出另一种疗效。 最后一行文字是包包背景中心形成的特效。

文本渐变原理

第二行文字效果的实现方法:定义一个普通的包,这里是li标签,减少上面的文字,减少滤镜模糊并设置元素背景background-clip,用元素背景填充文字,设置文字填充颜色为透明,并添加文字宽度,背景配置线性渐变Linear-Gradient,至少两种颜色,此时文字渐变的效果就完成了,动画部分可选。

CSS代码

.gradient-text {    background: linear-gradient(0deg, #00DFA2 25%, #F6FA70);    background-clip: text;    -webkit-background-clip: text;    -webkit-text-fill-color: transparent;    font-size64px;    font-weight: bold;    letter-spacing: -.5px;    filter: drop-shadow(2px 2px 0.1rem #fff);    animation: variation 5s cubic-bezier(0.87, 0, 0.13, 1) infinite;}
/* 文字渐变补间动画 */@keyframes variation { from { background: linear-gradient(0deg, #00DFA2 25%, #F6FA70); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; } to { background: linear-gradient(330deg, #00DFA2 25%, #F6FA70); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }}

注意:这里做补间动画时css3字体效果,需要写填充元素背景方法,否则不生效。

HTML代码

<ul>  <li class="gradient-text">欢迎关注</li></ul>

附上所有案例源码

这里的源代码可针对所有线性渐变颜色、角度、颜色比例和动画形式进行调整。 开放你的思维,创造无限可能的文字效果。 这里起到的是抛砖引玉的作用,并不是唯一的疗效。

有兴趣的男伙伴,可以将源代码复制到html文件中,用浏览器打开,看看本地的疗效,也可以自己调整样式、颜色等。

<html>  <head>    <meta charset="utf-8">    <title>文字渐变效果</title>    <style>      * {        margin: 0;        padding: 0;      }      body {        display: flex;        flex-direction: column;        align-items: center;        height: 100vh;        justify-content: center;        background-color: #151515;      }      li {        list-style: none;      }            .text-normal,       .gradient-text,      .gradient-text-up,      .gradient-text-half,      .gradient-text-bias {        font-size: 64px;        color: #B4A5A5;        font-weight: bold;      }      .gradient-text {          background: linear-gradient(0deg, #00DFA2 25%, #F6FA70);          background-clip: text;          -webkit-background-clip: text;          -webkit-text-fill-color: transparent;          letter-spacing: -.5px;        filter: drop-shadow(2px 2px 0.1rem #fff);        animation: variation 5s cubic-bezier(0.87, 0, 0.13, 1) infinite;      }      /* 文字渐变补间动画 */      @keyframes variation {        from {          background: linear-gradient(0deg, #00DFA2 25%, #F6FA70);          background-clip: text;          -webkit-background-clip: text;          -webkit-text-fill-color: transparent;        }        to {          background: linear-gradient(330deg, #00DFA2 25%, #F6FA70);          background-clip: text;          -webkit-background-clip: text;          -webkit-text-fill-color: transparent;        }      }      /* 渐变各占一半 */      .gradient-text-half {        background: linear-gradient(0deg, #14FFEC 50%, #F6C90E 50%);        background-clip: text;        -webkit-background-clip: text;        -webkit-text-fill-color: transparent;        letter-spacing: -.5px;      }      /* 斜边各占一半 */      .gradient-text-bias {        background: linear-gradient(347deg, #F6C90E 50%, #14FFEC 50%);        background-clip: text;        -webkit-background-clip: text;        -webkit-text-fill-color: transparent;        letter-spacing: -.5px;      }      .gradient-text-up {          background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);          background-clip: text;          -webkit-background-clip: text;          -webkit-text-fill-color: transparent;          background-size: 400% 400%;          letter-spacing: -0.5px;          animation: gradientText 20s cubic-bezier(0.32, 0, 0.67, 0) infinite;      }      @keyframes gradientText {          0% {              background-position: 200% 100%;          }          50% {              background-position: -200% 100%;          }          100% {              background-position: 0% -200%;          }      }</style>  </head>  <body>    <ul>      <li class="text-normal">普通文字</li>      <li class="gradient-text">欢迎关注</li>      <li class="gradient-text-half">布衣前端</li>      <li class="gradient-text-bias">布衣前端</li>      <li class="gradient-text-up">布衣前端</li>    </ul>  </body></html>

小伙伴们,有什么不明白的地方,评论区见。