zoukankan      html  css  js  c++  java
  • CSS3 笔记四(Transforms/Transition/Animations)

    CSS3 2D Transforms Methods

    • translate()
    • rotate()
    • scale()
    • skewX()
    • skewY()
    • matrix()

    1> translate()

    • The translate() method moves an element from its current position (according to the parameters given for the X-axis and the Y-axis).

    Translate

    2> rotate()

    • The rotate() method rotates an element clockwise or counter-clockwise according to a given degree.

    Rotate

    Example

    1 div {
    2     -ms-transform: rotate(20deg); /* IE 9 */
    3     -webkit-transform: rotate(20deg); /* Safari */
    4     transform: rotate(20deg);
    5 } 

    3> scale()

    • The scale() method increases or decreases the size of an element (according to the parameters given for the width and height).

    Scale

    4> skewX(沿X轴形变)

    • The skewX() method skews an element along the X-axis by the given angle.

    5> skewY(沿Y轴形变)

    • The skewY() method skews an element along the Y-axis by the given angle.

    6> skew(沿X和Y轴形变)

    • The skew() method skews an element along the X and Y-axis by the given angles.

    7> matrix()

    • The matrix() method combines all the 2D transform methods into one.

    Example

    1 div {
    2     -ms-transform: matrix(1, -0.3, 0, 1, 0, 0); /* IE 9 */
    3     -webkit-transform: matrix(1, -0.3, 0, 1, 0, 0); /* Safari */
    4     transform: matrix(1, -0.3, 0, 1, 0, 0);
    5 } 

    CSS3 3D Transforms

    • rotateX()
    • rotateY()
    • rotateZ()

    1> rotateX()

    • The rotateX() method rotates an element around its X-axis at a given degree.

    Rotate X

    2> rotateY()

    • The rotateY() method rotates an element around its Y-axis at a given degree.

    Rotate Y

    3> rotateZ()

    • The rotateZ() method rotates an element around its Z-axis at a given degree:

    Example

    1 div {
    2     -webkit-transform: rotateZ(90deg); /* Safari */
    3     transform: rotateZ(90deg);
    4 } 

    CSS3 Transitions

    • Specify the CSS property you want to add an effect to.
    • Specify the duration of the effect.

    Note: If the duration part is not specified, the transition will have no effect, because the default value is 0.

    syntax

    transition: property duration timing-function delay|initial|inherit;

    Example

    1 input[type=text] {
    2     width: 100px;
    3     -webkit-transition: ease-in-out, width .35s ease-in-out; /* Safari 3.1 to 6.0 */
    4     transition: width .35s ease-in-out;
    5 }
    6 
    7 input[type=text]:focus {
    8     width: 250px;
    9 }

    1> transition-property

    • Specify the name of the CSS property

    syntax

    transition-property: none|all|property|initial|inherit;

    Example

    1 div {
    2     -webkit-transition-property: width, height; /* Safari */
    3     transition-property: width, height;
    4 }
    5 
    6 div:hover {
    7     width: 300px;
    8     height: 300px;
    9 }

    2> transition-duration

    • Specifies how many seconds (s) or milliseconds (ms) a transition effect takes to complete.

    syntax

    transition-duration: time|initial|inherit;

    Example

    1 div {
    2     -webkit-transition-duration: 5s; /* Safari */
    3     transition-duration: 5s;
    4 }

    3> transition-delay

    • The transition-delay property specifies when the transition effect will start.
    • The transition-delay value is defined in seconds (s) or milliseconds (ms).

    syntax

    transition-delay: time|initial|inherit;

    Example

    1 div {
    2     -webkit-transition-delay: 2s; /* Safari */
    3     transition-delay: 2s;
    4 }

    4> transition-timing-function

    • The transition-timing-function property specifies the speed curve of the transition effect.
    • This property allows a transition effect to change speed over its duration.

    syntax

    transition-timing-function: ease|linear|ease-in|ease-out|ease-in-out|cubic-bezier()|initial|inherit;
    ValueDescription
    ease Default value. Specifies a transition effect with a slow start, then fast, then end slowly (equivalent to cubic-bezier(0.25,0.1,0.25,1))
    linear Specifies a transition effect with the same speed from start to end (equivalent to cubic-bezier(0,0,1,1))
    ease-in Specifies a transition effect with a slow start (equivalent to cubic-bezier(0.42,0,1,1))
    ease-out Specifies a transition effect with a slow end (equivalent to cubic-bezier(0,0,0.58,1))
    ease-in-out Specifies a transition effect with a slow start and end (equivalent to cubic-bezier(0.42,0,0.58,1))
    cubic-bezier(n,n,n,n) Define your own values in the cubic-bezier function. Possible values are numeric values from 0 to 1
    initial Sets this property to its default value.
    inherit Inherits this property from its parent element.

    Example

     1 /* For Safari 3.1 to 6.0 */
     2 #div1 {-webkit-transition-timing-function: linear;}
     3 #div2 {-webkit-transition-timing-function: ease;}
     4 #div3 {-webkit-transition-timing-function: ease-in;}
     5 #div4 {-webkit-transition-timing-function: ease-out;}
     6 #div5 {-webkit-transition-timing-function: ease-in-out;}
     7 
     8 /* Standard syntax */
     9 #div1 {transition-timing-function: linear;}
    10 #div2 {transition-timing-function: ease;}
    11 #div3 {transition-timing-function: ease-in;}
    12 #div4 {transition-timing-function: ease-out;}
    13 #div5 {transition-timing-function: ease-in-out;}

    CSS3 Animations

    1> animation

    syntax

    animation: name duration timing-function delay iteration-count direction fill-mode play-state;

    Example

    1 div {
    2     -webkit-animation: mymove 5s infinite; /* Chrome, Safari, Opera */
    3     animation: mymove 5s infinite;
    4 } 

    2> animation-name

    • The animation-name property specifies a name for the @keyframes animation.

    syntax

    animation-name: keyframename|none|initial|inherit;

    Example

     1 /* The animation code */
     2 @keyframes mymove {
     3     from {background-color: red;}
     4     to {background-color: yellow;}
     5 }
     6 
     7 /* The element to apply the animation to */
     8 div {
     9     width: 100px;
    10     height: 100px;
    11     background-color: red;
    12     animation-name: mylove;
    13     animation-duration: 4s;
    14 } 

    3> animation-duration

    syntax

    animation-duration: time|initial|inherit;

    4> animation-timing-function

    syntax

    animation-timing-function: linear|ease|ease-in|ease-out|cubic-bezier(n,n,n,n)|initial|inherit;

    5> animation-delay

    syntax

    animation-delay: time|initial|inherit;

    6> animation-iteration-count

    • The animation-iteration-count property specifies the number of times an animation should be played.

    syntax

    animation-iteration-count: number|infinite|initial|inherit;

    7> animation-direction

    syntax

    animation-direction: normal|reverse|alternate|alternate-reverse|initial|inherit;

    ?? 8> animation-fill-mode

    • The animation-fill-mode property specifies a style for the element when the animation is not playing (when it is finished, or when it has a delay).

    syntax

    animation-fill-mode: none|forwards|backwards|both|initial|inherit;

    9> animation-play-state

    • The animation-play-state property specifies whether the animation is running or paused.

    syntax

    animation-play-state: paused|running|initial|inherit;

    Example

     1 div {
     2     width: 100px;
     3     height: 100px;
     4     background: red;
     5     position: relative;
     6     -webkit-animation: mymove 5s infinite;  /* Chrome, Safari, Opera */
     7     animation: mymove 5s infinite;
     8 }
     9 
    10 div:hover {
    11     -webkit-animation-play-state: paused;  /* Chrome, Safari, Opera */
    12     animation-play-state: paused;
    13 }
    14 
    15 /* Chrome, Safari, Opera */
    16 @-webkit-keyframes mymove {
    17     from {left: 0px;}
    18     to {left: 200px;}
    19 }
    20 
    21 @keyframes mymove {
    22     from {left: 0px;}
    23     to {left: 200px;}
    24 }
    25 </style>

     Animation example1

    1 div {
    2     animation: example 5s linear 2s infinite alternate;
    3 }

     Animation example2

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <style> 
     5 div {
     6     width: 100px;
     7     height: 100px;
     8     background-color: red;
     9     position: relative;
    10     animation-name: example;
    11     animation-duration: 5s;
    12     animation-timing-function: linear;
    13     animation-delay: 2s;
    14     animation-iteration-count: infinite;
    15     animation-direction: alternate;
    16 }
    17 @keyframes example {
    18     0%   {background-color:red; left:0px; top:0px;}
    19     25%  {background-color:yellow; left:200px; top:0px;}
    20     50%  {background-color:blue; left:200px; top:200px;}
    21     75%  {background-color:green; left:0px; top:200px;}
    22     100% {background-color:red; left:0px; top:0px;}
    23 }
    24 </style>
    25 </head>
    26 <body>
    27 
    28 <p><b>Note:</b> This example does not work in Internet Explorer 9 and earlier versions.</p>
    29 
    30 <div></div>
    31 
    32 </body>
    33 </html>
  • 相关阅读:
    <html:form>里的<html:password property="password"/>中的property
    关于validate
    ActionForm的详解
    Struts控制流
    Action的详解
    formValidate输入验证
    在JS里面,取struts的<html:form>标签里面的<html:text property="title"/>值
    ActionMapping的详解
    学习数据结构的网站
    ActionForm本质
  • 原文地址:https://www.cnblogs.com/hzj680539/p/5093324.html
Copyright © 2011-2022 走看看