zoukankan      html  css  js  c++  java
  • 纯CSS3向右循环闪过效果

     1 <!DOCTYPE html>
     2 <html lang="en">
     3     <head>
     4         <meta charset="utf-8">
     5         <style>
     6             .shadow {
     7                 text-align: center;
     8                 /* 背景颜色线性渐变 */
     9                     /* 老式写法 */
    10                         /* linear为线性渐变,也可以用下面的那种写法。left top,right top指的是渐变方向,左上到右上 */
    11                         /* color-stop函数,第一个表示渐变的位置,0为起点,0.5为中点,1为结束点;第二个表示该点的颜色。所以本次渐变为两边灰色,中间渐白色 */
    12                 background: -webkit-gradient(linear, left top, right top, color-stop(0, #4d4d4d), color-stop(.4, #4d4d4d), color-stop(.5, white), color-stop(.6, #4d4d4d), color-stop(1, #4d4d4d));
    13                     /* 新式写法 */
    14                 /* background: -webkit-linear-gradient(left top, right top, color-stop(0, #4d4d4d), color-stop(.4, #4d4d4d), color-stop(.5, white), color-stop(.6, #4d4d4d), color-stop(1, #4d4d4d)); */
    15 
    16                 /* 设置为text,意思是把文本内容之外的背景给裁剪掉 */
    17                 -webkit-background-clip: text;
    18                 /* 设置对象中的文字填充颜色 这里设置为透明 */
    19                 -webkit-text-fill-color: transparent;
    20                 /* 每隔2秒调用下面的CSS3动画 infinite属性为循环执行animate */
    21                 -webkit-animation: animate 1.5s infinite;
    22             }
    23             /* 兼容写法,要放在@keyframes前面 */
    24             @-webkit-keyframes animate {
    25                 /* 背景从-100px的水平位置,移动到+100px的水平位置。如果要移动Y轴的,设置第二个数值 */
    26                 from {background-position: -100px;}
    27                 to {background-position: 100px;}
    28             }
    29             @keyframes animate {
    30                 from {background-position: -100px;}
    31                 to {background-position: 100px;}
    32             }
    33         </style>
    34     </head>
    35     <body>
    36         <div class="shadow">文字向右闪过效果</div>
    37     </body>
    38 </html>

    一、直接上代码!下面这是效果图:

    二、这个白色渐变闪过效果用CSS3做很容易也很方便,唯一不好的地方应该就是兼容问题了。所以现在一般都用在移动端上面了。

     三、来啦来啦!(敲黑板) 我觉得代码注释已经比较清楚了,所以画画重点就好了!!!

    1、infinite                                           这是循环执行的属性,有了它,才能一闪一闪滴!

    2、-webkit-text-fill-color: transparent;    文字填充颜色为透明,没有设置的话,看不出白色渐变划过效果的!

    3、-webkit-background-clip: text;          把文本内容之外的背景给裁剪掉,如果不加,文字显示不出来,只显示渐变的颜色!

    4、color-stop() 渐变的color-stop              函数,表示渐变的位置和颜色,就是它,我们才能想在哪里渐变就哪里渐变,再让它移动起来,就出现一闪一闪的效果了!

    四、最后,说一下思路:

      首先,设置一个中间白色、两边灰色的渐变背景色;

      其次,文字填充颜色设为透明(才能看到白色背景);

      接着,把文字之外的背景色给裁剪掉(只显示文字);

      最后,用@keyframes,让背景白色位置循环从左到右执行。

    如果还有任何问题,欢迎留言哈!!!

  • 相关阅读:
    Java基础—ArrayList源码浅析
    Java基础——类加载机制
    Java基础——常用类之日期时间类
    Java基础——反射
    栈队列例题3:使用两个栈实现一个队列
    栈队列例题2:SetOfStack放盘子
    栈队列例题1:设置带最小值的栈
    链表例题6:检查链表中的数据是否回文
    队列的实现
    栈的实现
  • 原文地址:https://www.cnblogs.com/zhengshize/p/6936919.html
Copyright © 2011-2022 走看看