每天坚持一个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:
设置渐变为从右到左。相当于: 270deg
to right:
设置渐变从左到右。相当于: 90deg
to top:
设置渐变从下到上。相当于: 0deg
to bottom:
设置渐变从上到下。相当于: 180deg。这是默认值,等同于留空不写。
这样就实现了渐变字体部分
-webkit-text-fill-color: transparent;
字体填充颜色:继承与背景,所以字体颜色为设置的box-text的background ,而非box的背景颜色。
就这样加上一个动画,循环移动,就是实现了。
PS:欢迎一起学习,等服务器备案通过,会将所有案例发布至服务器上。
demo地址: everyDay
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。