Home >Web Front-end >CSS Tutorial >Detailed explanation of the usage of Transition animation property in CSS3

Detailed explanation of the usage of Transition animation property in CSS3

高洛峰
高洛峰Original
2017-03-08 13:27:271734browse

The W3C standard describes the transition of CSS3 in this way: "The transition of CSS allows the CSS attribute value to transition smoothly within a certain time interval. This effect can be achieved when the mouse clicks, gets focus, is clicked or Triggers on any changes to the element, and smoothly changes the CSS attribute value with animation effect. "

##The values ​​of the transition attribute include the following four:

. •Transition-property: Specify which css attribute of the HTML element to perform transition gradient processing. This attribute can be various standard css attributes such as color, width, height, etc.

•Transition-duration: Specify the duration of the attribute transition
•Transition-timing-function: Specify the speed of the gradient:
1. ease: (gradually slows down) default value, the ease function is equivalent to Besser Er curve (0.25, 0.1, 0.25, 1.0);
2, linear: (uniform speed), linear function is equivalent to Bezier curve (0.0, 0.0, 1.0, 1.0);
3, ease-in: (Accelerate), the ease-in function is equivalent to the Bezier curve (0.42, 0, 1.0, 1.0);
4. ease-out: (Decelerate), the ease-out function is equivalent to the Bezier curve (0, 0, 0.58, 1.0);
5. ease-in-out: (accelerate and then decelerate), the ease-in-out function is equivalent to the Bezier curve (0.42, 0, 0.58, 1.0);
6 , cubic-bezier: (This value allows you to customize a time curve), a specific cubic-bezier curve. The four values ​​(x1, y1, x2, y2) are specific to points P1 and P2 on the curve. All values ​​must be within the [0, 1] range, otherwise they will be invalid.
•Transition-delay: Specify the delay time, that is, how long it takes to start the transition process.


Browser Compatibility

Internet Explorer 9 and earlier versions do not support the transition attribute.

Internet Explorer 10, Firefox, Opera and Chrome support the transition attribute. Chrome 25 and earlier and Safari require the prefix -webkit-.

The following is an example to illustrate the usage of transition

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>transition演示1</title>
    <style type="text/css">
        .animated_p {   
            margin: 100px auto;   
            width:100px;   
            height:60px;   
            background:#92B901;   
            /*简写属性*/   
            -webkit-transition:-webkit-transform 1s,opacity 1s,background 1s,width 1s,height 1s,font-size 1s; /* Safari */   
            /*每个属性分开写*/   
            transition-property:width,height,transform,background,opacity;   
            transition-duration:1s,1s,1s,1s,1s,1s;   
            -webkit-border-radius:5px;   
            border-radius:5px;   
            opacity:0.4;   
        }   
        .animated_p:hover {   
            -moz-transform: rotate(360deg);   
            -webkit-transform: rotate(360deg);   
            -o-transform: rotate(360deg);   
            transform: rotate(360deg);   
            opacity:1;   
            background:#1ec7e6;   
            width:200px;   
            height:120px;   
        }   
    </style>
</head>
<body>
<p class="animated_p"></p>
</body>
</html>

When the mouse moves to p in the above code, the CSS attributes: width, height, transform, background, opacity Gradient transition effects occur. In the end, the css style becomes the style defined in .animated_p. The transition process is roughly as follows:

CSS3中Transition动画属性用法详解

Give me another online example of Chang'e flying to the moon. The requirements are: when the mouse moves over the picture When it goes up, Chang'e appears, and when it moves away, Chang'e disappears

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>transition演示2</title>
    <style type="text/css">
        body{   
          color: #fff;   
          background:#000;   
        }   
        .change{   
          display:block;   
          width:400px;   
          height:400px;   
          background:url(http://www.php.cn/) no-repeat center;   
          background-size:cover;   
          border:1em solid rgba(255,255,255,.8);   
          margin:50px auto;   
        }   
        .change img{   
          display:block;   
          width:300px;   
          height:284px;   
          opacity:0;   
          -webkit-transform:translate(-100px,-100px);   
          transform:translate(-100px,-100px);   
          -webkit-transition:opacity 1s ease-in-out 0.5s,-webkit-transform 1s ease-in-out;   
          transition: opacity 1s ease-in-out 0.5s,transform 1s ease-in-out;   
        }   
        .change:hover img{   
          -webkit-transform:translate(0px,0px);   
          transform:translate(0px,0px);   
          opacity:1;   
        }   
    </style>
</head>
<body>
    <a href="http://image.haosou.com/i?q=%E5%AB%A6%E5%A8%A5png&src=tab_www" class="change " target="_blank">
        <img src="http://p4.qhimg.com/t0160e6a92121691e22.png" alt="" />
    </a>
</body>
</html>

In order to make Chang'e have the effect of floating in and out, the transform attribute is set, combined with the opacity attribute, and the transition effect can be added. Effect:

CSS3中Transition动画属性用法详解


The above is the detailed content of Detailed explanation of the usage of Transition animation property in CSS3. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn