純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,讓背景白色位置循環從左到右執行。

如果還有任何問題,歡迎留言哈!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM