天天一個CSS

天天堅持一個CSS-------滾動文字

效果圖

圖片描述:箭頭指向部分,以白色爲背景,從左向右滾動。(不適用於IE)

代碼

html

<div>   
例子:
<div class="box">
<span class="box-text">滾動的文字,我是滾動的文字</span>
</div>
</div>

CSS

.box {
    height: auto;
    background-color: blue;
}

.box-text{
    color: white;
    background: -ms-gradient(linear,left top,right top,color-stop(0,#4d4d4d),color-stop(.4,#4d4d4d),color-stop(.5,#fff),color-stop(.6,#4d4d4d),color-stop(1,#4d4d4d));
    background: -webkit-gradient(linear,left top,right top,color-stop(0,#4d4d4d),color-stop(.4,#4d4d4d),color-stop(.5,#fff),color-stop(.6,#4d4d4d),color-stop(1,#4d4d4d));
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: slidetounlock 3s infinite;
    -webkit-animation: slidetounlock 3s infinite;
}

@-webkit-keyframes slidetounlock{
    0%  {
        background-position:-200px 0
    }
    
    100% {
        background-position:200px 0
    }
}

實現原理

一、動畫效果html

@-webkit-keyframes

定義一組動畫,在本動畫中,將背景的位置進行了改變(注意是文本的位置)web

二、背景爲什麼選擇到文本而不是整塊背景?服務器

background-clip: text;

做用:指定繪圖區的背景
除了text外,還包括 :border-box|padding-box|content-box;三個屬性

三、怎麼實現一小段的變化效果的呢?ide

gradient()

做用:漸變
從實際效果中看到,白色部分以外都是灰色,越是靠近白色,就越白。學習

-ms-gradient(linear,left top,right top,color-stop(0,#4d4d4d),color-stop(.4,#4d4d4d),color-stop(.5,#fff),color-stop(.6,#4d4d4d),color-stop(1,#4d4d4d));
說明:漸變類型,線性漸變(z=x*y)
to left:
設置漸變爲從右到左。至關於: 270deg
to right:
設置漸變從左到右。至關於: 90deg
to top:
設置漸變從下到上。至關於: 0deg
to bottom:
設置漸變從上到下。至關於: 180deg。這是默認值,等同於留空不寫。

這樣就實現了漸變字體部分字體

-webkit-text-fill-color: transparent;

字體填充顏色:繼承與背景,因此字體顏色爲設置的box-text的background ,而非box的背景顏色。動畫

就這樣加上一個動畫,循環移動,就是實現了。spa

PS:歡迎一塊兒學習,等服務器備案經過,會將全部案例發佈至服務器上。code

demo地址: everyDayhtm

相關文章
相關標籤/搜索