Home > Article > Web Front-end > How to use the animation-name attribute to call animation? Detailed explanation of animation-name attribute
The content of this article is about how to use the animation-name attribute to call animation? The detailed explanation of the animation-name attribute has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
animation-name attribute:
In CSS3, animations defined using @keyframes rules will not be executed automatically. We also need to use the animation-name attribute to call the animation, and then the animation will Take effect.
Syntax:
animation-name: animation name;
Description:
Note that the animation name called by animation-name needs to be defined with the @keyframes rule The animation names are completely consistent (case-sensitive). If they are inconsistent, there will be no animation effect. For browser compatibility, the -webkit- prefix needs to be added for Chrome and Safari browsers, and -moz- needs to be added for Firefox browsers.
Code:
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>CSS3 animation-name属性</title> <style type="text/css"> @-webkit-keyframes mycolor { 0%{background-color:red;} 30%{background-color:blue;} 60%{background-color:yellow;} 100%{background-color:green;} } @-webkit-keyframes mytransform { 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; } </style> </head> <body> <div></div> </body> </html>
The effect is as follows:
Analysis:
Here I use the @keyframes rule to define 2 animations: mycolor and mytransform. But we only use animation-name to call the animation named mytransform. Therefore, the animation named mytransform will take effect, but the animation named mycolor will not take effect.
In the mytransform animation, the border-radius attribute value of the div element changes from 0 to 50px between 0% and 50%, and then keeps the border-radius attribute value unchanged between 50% and 100%. And move it 50px horizontally to the right.
Method (1):
@-webkit-keyframes mytransform { 0%{border-radius:0;} 50%{border-radius:50px;-webkit-transform:translateX(0);} 100%{-webkit-transform:translateX(50px);} }
Method (2):
@-webkit-keyframes mytransform { 0%{border-radius:0;} 50%{border-radius:50px;} 100%{-webkit-transform:translateX(50px);} }
Beginners often have questions. Every time we define: hover pseudo-class definition, the animation starts when the mouse moves over the element. What if we want the animation to be automatically executed the first time we open the web page?
It’s actually very simple. We remove the style when the mouse pointer stays on the div element, and rewrite the code in the style to the style of the div element itself, becoming the code as shown below, then the animation will open on the page Play immediately.
div { width:100px; height:100px; background-color:red; -webkit-animation-name:mytransform; -webkit-animation-duration:5s; -webkit-animation-timing-function:linear; }
The above is how to use the animation-name attribute to call animation? A complete introduction to the detailed explanation of the animation-name attribute. If you want to know more about CSS3Tutorial, please pay attention to the PHP Chinese website.
The above is the detailed content of How to use the animation-name attribute to call animation? Detailed explanation of animation-name attribute. For more information, please follow other related articles on the PHP Chinese website!