Home >Web Front-end >HTML Tutorial >Introduction to CSS3 Transition, transform and animation_html/css_WEB-ITnose

Introduction to CSS3 Transition, transform and animation_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:43:431081browse

CSS3 provides transition, transform and animation to achieve some style transformations on the page. This article will briefly introduce these properties, and then compare the performance of CSS3 animation and JS animation. better.

Transition, transform and animation introduction

transition

transition allows CSS attribute values ​​to transition smoothly within a certain time interval. The syntax is as follows:

transition : transition-property transition-duration transition-timing-function transition-delay [, ...]
  • transition-property
    is used to specify the property to execute the transition effect, which can be none, all or a specific property.
  • transition-duration
    The duration of animation execution, in s (seconds) or ms (milliseconds).
  • transition-timing-function
    Transformation rate effect, optional values ​​are ease|linear|ease-in|ease-out|ease-in-out|cubic-bezier (custom time curve).
  • transition-delay
    is used to specify the time when the animation starts to execute. The value is the same as transition-duration, but it can be a negative number.
  • DEMO: http://codepen.io/CodingMonkeyzh/pen/ZGBRVe

    transform

    transform is divided into 2D and 3D. Here we only introduce the more commonly used 2D transform. , which mainly includes the following transformations: rotate rotate, distort skew, scale and translate, and matrix deformation matrix. The syntax is as follows:

    transform: rotate | scale | skew | translate |matrix;
    • rotate rotation
      The unit of rotate is deg degree, positive number means clockwise rotation, negative number means counterclockwise rotation.
      DEMO: http://codepen.io/CodingMonkeyzh/pen/XbNYOa
    • scale scaling
      The value range of scale is 0~n. When it is less than 1, it means reducing, otherwise it means enlarging. For example, scale(0.5, 2) means that the horizontal direction is reduced by 1 times and the vertical direction is enlarged by 1 times. In addition, one direction can also be set through scaleX or scaleY.
      DEMO: http://codepen.io/CodingMonkeyzh/pen/doOKrg
    • skew distortion
      The unit of skew is the same as rotate, which is deg degrees. For example, skew(30deg, 10deg) means that the horizontal direction is tilted 30 degrees and the vertical direction is tilted 10 degrees.
      DEMO: http://codepen.io/CodingMonkeyzh/pen/KpNeYg
    • translate Offset
      Offset also includes horizontal offset and vertical offset. translate(x,y) moves horizontally and vertically at the same time (that is, the X-axis and Y-axis move simultaneously); translateX(x) only moves horizontally (X-axis moves); translateY(Y) only moves vertically (Y-axis move).
      DEMO: http://codepen.io/CodingMonkeyzh/pen/waoXbB

    animation

    Animation in CSS3 is controlled through a thing called Keyframes. , its name starts with "@keyframes", followed by the "name of the animation" plus a pair of curly brackets "{}". In the brackets are some style rules for different time periods, a bit like how we write CSS styles. Same. For a style rule in "@keyframes" that is composed of multiple percentages, such as between "0%" and "100%", the syntax is as follows:

    @keyframes IDENT {  from {    Properties: Properties value;  }  Percentage {    Properties: Properties value;  }  to {    Properties: Properties value;  }}或者全部写成百分比的形式: @keyframes IDENT {  0% {    Properties: Properties value;  }  Percentage {    Properties: Properties value;  }  100% {    Properties: Properties value;  }}

    animation has its own relationship with transition. Corresponding attributes, then there are mainly the following in animation: animation-name; animation-duration; animation-timing-function; animation-delay; animation-iteration-count; animation-direction; animation-play-state. Some of the attributes are explained below:

    • animation-name keyframe name
      is used to define the name of an animation, which is the name of the animation created by the previous keyframes. The default value is none, when the value is none, there will be no animation effect. If we want to attach several animations to an element at the same time, just separate them with commas.
    • animation-iteration-count animation cycle count
      The default is 1. If you want to loop infinitely, just set it to infinite.
    • animation-direction animation playback direction
      It has only two values. The default value is normal. If set to normal, each cycle of the animation will play forward; the other value is alternate. Its function is to play the animation forward in the even-numbered times and in the reverse direction in the odd-numbered times.
    • animation-play-state play state
      It mainly has two values, running and paused, of which running is the default value. You can stop the currently playing animation through paused, and you can also replay the paused animation through running. This attribute is not commonly used.

    DEMO 1: http://codepen.io/CodingMonkeyzh/pen/mJOKZY

    DEMO 2: http://codepen.io/CodingMonkeyzh/pen/EjNpaE

    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