每天一个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 }}

实现原理

1、动画效果

@-webkit-keyframes

定义一组动画,在本动画中,将背景的位置进行了改变(注意是文本的位置)

2、背景为何选择到文本而不是整块背景?

background-clip: text;作用:指定绘图区的背景除了text外,还包括 :border-box|padding-box|content-box;三个属性

3、怎么实现一小段的变化效果的呢?

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:设置渐变为从右到左。相当于: 270degto right:设置渐变从左到右。相当于: 90degto top:设置渐变从下到上。相当于: 0degto bottom:设置渐变从上到下。相当于: 180deg。这是默认值,等同于留空不写。

这样就实现了渐变字体部分

-webkit-text-fill-color: transparent;

字体填充颜色:继承与背景,所以字体颜色为设置的box-text的background ,而非box的背景颜色。

就这样加上一个动画,循环移动,就是实现了。

PS:欢迎一起学习,等服务器备案通过,会将所有案例发布至服务器上。

本文转载于:猿2048https://www.mk2048.com/blog/blog.php?id=hciahib22bb

相关文章