重拾前端记忆,记录学习笔记,现在进入CSS动画效果部分
动画是使元素从一种样式逐渐变为另一种样式的效果
可以指定多个动画效果或者多个次数
可以使用百分比来规定发生变化的时间占比,或者from和to(相当于0%和100%)
0%是动画的开始,100%是动画的结束
使用@keyframes规则即可创建动画,语法如下:
@keyframes name{
from | 0%{
css 样式
}
percent{
css 样式
}
to | 100%{
css 样式
}
}
name 动画名称,可自定义
percent 百分比值,可添加多个百分比值
可以通过定义animation属性来执行动画,语法如下:
animation: name duration timing-function delay iteration-count direction;
示例如下:
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>清风不渡title>
<style>
.box{
width: 300px;
height: 300px;
background-color: aqua;
animation: demo 3s linear 0s infinite;
}
div:hover{
animation-play-state: paused;
}
@keyframes demo{
0%{
background-color: green;
}
25%{
background-color: yellow;
}
100%{
background-color: red;
}
}
style>
head>
<body>
<div class="box">div>
body>
html>
效果如下,运行可以看到box由绿—黄—红进行无限次循环播放,鼠标悬停到box上则暂停播放: