调用动画animation-name属性怎么用?
导读: animation-name属性: 在CSS3中,使用@keyframes规则定义的动画并不会自动执行,我们还需要使用animation-name属性来调用动画,之后动画才会生效。 语法: animation-name...
animation-name属性:
在CSS3中,使用@keyframes规则定义的动画并不会自动执行,我们还需要使用animation-name属性来调用动画,之后动画才会生效。
语法:
animation-name:动画名;
说明:
注意,animation-name调用的动画名需要和@keyframes规则定义的动画名称完全一致(区分大小写),如果不一致将不具有任何动画效果。为了浏览器兼容性,针对Chrome和Safari浏览器需要加上-webkit-前缀,而针对Firefox浏览器需要加上-moz-。
代码:
CSS3animation-name属性
@-webkit-keyframesmycolor
{
0%{
background-color:red;
}
30%{
background-color:blue;
}
60%{
background-color:yellow;
}
100%{
background-color:green;
}
}
@-webkit-keyframesmytransform
{
0%{
border-radius:0;
}
50%{
border-radius:50px;
-webkit-transform:translateX(0);
}
100%{
border-radius:50px;
-webkit-transform:translateX(50px);
}
}
div
{
width:100px;
height:100px;
background-color:red;
}
div:hover
{
-webkit-animation-name:mytransform;
-webkit-animation-duration:5s;
-webkit-animation-timing-function:linear;
}
效果如下:
11-3-1.png
分析:
这里我使用@keyframes规则定义了2个动画:mycolor和mytransform。但是我们只使用animation-name调用动画名为mytransform的动画。因此,名为mytransform的动画就会生效,而名为mycolor的动画不会生效。
在mytransform动画中,0%到50%的之间div元素border-radius属性值实现从0变成50px,然后在50%到100%之间保持border-radius属性值不变并且水平向右移动50px。
方式(1):
@-webkit-keyframesmytransform
{
0%{
border-radius:0;
}
50%{
border-radius:50px;
-webkit-transform:translateX(0);}
100%{
-webkit-transform:translateX(50px);}
}
方式(2):
@-webkit-keyframesmytransform
{
0%{
border-radius:0;
}
50%{
border-radius:50px;
}
100%{
-webkit-transform:translateX(50px);}
}
初学者往往都会有疑问,每次我们都是定义:hover伪类定义鼠标移动到元素上时,动画才开始,假如我们想要打开网页的第一时间动画就能自动执行,那该怎么办呢?
其实很简单,我们去除鼠标指针停留在div元素上时的样式,并把样式中的代码改写为div元素本身的样式,成为如下所示的代码,则动画将在页面打开时就立刻进行播放。
div
{
width:100px;
height:100px;
background-color:red;
-webkit-animation-name:mytransform;
-webkit-animation-duration:5s;
-webkit-animation-timing-function:linear;
}
本文转载自中文网
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 调用动画animation-name属性怎么用?
本文地址: https://pptw.com/jishu/664962.html
