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,讓背景白色位置循環從左到右到右執行。
如果還有任何問題,歡迎留言哈! ! !
以上是分享一個css特效--向右循環閃過的詳細內容。更多資訊請關注PHP中文網其他相關文章!