文字跑马灯 animation
html <div class="scorll_text"> <p class="text">跑马灯🐎跑马灯🐎跑马灯🐎跑马灯🐎跑马灯🐎跑马灯🐎跑马灯🐎</p> </div>
css .main .scorll_text { margin: 0 auto; overflow: hidden; } .main .scorll_text .text { font-size: 18px; white-space: nowrap; animation: slidein 15s linear 0s infinite running; /* 15s决定跑马灯一次滚动的时长 */
/* slidein 自定义动画关键帧
15s 跑马灯一次时长
linear 线性曲线
0s 动画延迟
infinite 循环次数无限
running */
} @keyframes slidein { from { transform: translateX(300px); /* 盒子宽度 */ } to { transform: translateX(-1150px); /* 平移距离 = 文案标签长度 + 盒子宽度 */ } }
animation 属性是一个简写属性,用于设置六个动画属性:
- animation-name
- animation-duration
- animation-timing-function
- animation-delay
- animation-iteration-count
- animation-direction
注释:请始终规定 animation-duration 属性,否则时长为 0,就不会播放动画了。
值 | 描述 |
---|---|
animation-name | 规定需要绑定到选择器的 keyframe 名称。。 |
animation-duration | 规定完成动画所花费的时间,以秒或毫秒计。 |
animation-timing-function | 规定动画的速度曲线。 |
animation-delay | 规定在动画开始之前的延迟。 |
animation-iteration-count | 规定动画应该播放的次数。 |
animation-direction | 规定是否应该轮流反向播放动画。 |
最常用的几种属性有以下几种:
1、animation-name(动画名称)
animation-name: keyframename|none;
animation-name属性是必须存在的,因为animation-name的值默认是none,没有动画。
2、animation-duration(动画执行一次所需时间)
animation-duration: time;
animation-duration属性也是必须存在的,因为animation-duration的值默认是0,没有动画。
3、animation-delay(动画在开始前的延迟时间)
animation-delay: time;
animation-delay的值可以是秒(s)或者是毫秒(ms),默认值是0,没有延迟。
4、animation-timing-function(动画以何种运行轨迹完成一个周期)
animation-timing-function: linear|ease|ease-in|ease_out|ease-in-out;
animation-timing-function的值是贝塞尔曲线,默认值是ease,表示动画以低速开始,然后加速,最后在结束前变慢。 最常用的值有以下几个:
(1)linear:表示动画从头到尾的速度都是相同的。
(2)ease-in:表示动画以低速开始。
(3)ease-out:表示动画以低速结束。
(4)ease-in-out:表示动画以低速开始和结束。
如果没有想用的值,也可以直接使用三次贝塞尔函数,使用网站是http://cubic-bezier.com,可直接调试出自己想要的值;也可以在浏览器中直接调试,现在浏览器调试工具中都支持贝塞尔函数可视化调试。
5、animation-iteration-count(动画播放次数)
animation-iteration-count: n|infinite;
animation-iteration-count属性值有两种:
(1)直接写数字,自定义想要播放动画的次数。
(2)infinite:设置动画无线循环播放。
6、animation-fill-mode(定义元素动画结束以后或者未开始的元素样式)
默认值为none,标示,不会在动画结束或者未开始时给元素 添加样式
常用属性值为:
(1)forwards:表示动画结束后,元素直接接使用当前样式。
(2)backwards:表示在动画延迟时间元素使用关键帧中from的属性值或者to属性值(当animation-direction为reverse或者alternate-reverse时)
7、animation-direction(是否轮流反向播放动画)
animation-direction: normal|alternate;
默认值是normal,动画正常播放。如果动画只播放一次,则该属性无效。
常用的属性值为:
(1)reverse:表示动画反向播放。
(2)alternate:表示动画在奇数次播放时为正向播放,为偶数次播放时为反向播放。
(3)alternate-reverse: :表示动画在奇数次播放时为反向播放,为偶数次播放时为正向播放。
animation属性在书写通常合并在一起,除非需要单独设置的属性值,animation属性的简写形式为:animation:code 2s 2s linear infinite alternate forwards;
8、animation-play-state
animation-play-state: paused|running;
animation-play-state主要是用来控制元素动画的播放状态。其主要有两个值,running和paused其中running为默认值。他们的作用就类似于我们的音乐播放器一样,可以通过paused将正在播放的动画停下了,也可以通过running将暂停的动画重新播放,我们这里的重新播放不一定是从元素动画的开始播放,而是从你暂停的那个位置开始播放。另外如果暂时了动画的播放,元素的样式将回到最原始设置状态。这个属性目前很少内核支持,所以只是稍微提一下。