使用@keyframes定义了动画,那如何使用呢?
那就得在对应要使用该动画的元素上添加animation属性
animation是一个复合属性,是所有动画属性的缩写,除animation-play-state
1. animation-name 动画名,表示要应用哪个动画
2. animation-duration 动画完成一个周期所花费的时间(秒或毫秒数),默认0
3. animation-timing-function 表示动画速度曲线,常用关键字linear、ease、ease-in、ease-out、ease-in-out,默认是ease。还可以使用cubic-bezier(n,n,n,n)设置
4. animation-delay 动画延迟时间,默认0
5. animation-iteration-count 动画播放次数,默认1 只播一次
6. animation-direction 设置动画在下个播放周期是否逆转方向,默认是 "normal"正常播放,alternate轮流反向播放
7. animation-fill-mode 用于设置动画填充模式,none 不改变默认行为;forwards当动画完成后,保持最后一个属性值(在最后一个关键帧中定义);backwards在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义);both向前和向后填充模式都被应用
8. animation-play-state 设置动画播放状态,paused动画已暂停,running是默认值,表示动画正在运行播放
您好,cubic-bezier即为贝兹曲线中的绘制方法。
图上有四点,P0-3,其中P0、P3是默认的点,对应了[0,0], [1,1]。而剩下的P1、P2两点则是我们通过cubic-bezier()自定义的。cubic-bezier(x1, y1, x2, y2) 为自定义,x1,x2,y1,y2的值范围在[0, 1]。
预留的几个特效:
ease: cubic-bezier(0.25, 0.1, 0.25, 1.0)
linear: cubic-bezier(0.0, 0.0, 1.0, 1.0)
ease-in: cubic-bezier(0.42, 0, 1.0, 1.0)
ease-out: cubic-bezier(0, 0, 0.58, 1.0)
ease-in-out: cubic-bezier(0.42, 0, 0.58, 1.0)
CSS即层叠样式表(Cascading StyleSheet)。 在网页制作时采用层叠样式表技术,可以有效地对页面的布局、字体、颜色、背景和其它效果实现更加精确的控制。
transition的语法:
transition: property duration timing-function delay第二个参数就是过渡所需要的时间。
<!DOCTYPE html><html>
<head>
<meta charset="UTF-8" />
<title>HTML5学堂</title>
<style type="text/css">
.h5course {
width: 200px
height: 200px
background-color: #39f
/*3s就是过度的时间*/
-webkit-transition: height 3s ease-in
-o-transition: height 3s ease-in
transition: height 3s ease-in
}
.h5course:hover {
height: 500px
}
</style>
</head>
<body>
<div class="h5course">学习HTML5,到HTML5学堂</div>
<script src="js/jquery-3.2.1.min.js" type="text/javascript"></script>
</body>
</html>