>  기사  >  웹 프론트엔드  >  利用css3制作旋转动画_html/css_WEB-ITnose

利用css3制作旋转动画_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-21 08:45:591170검색

  利用css3功能强大,我们可以直接完成旋转动画的制作,而跳过复杂的javascript。

  html代码如下:demo01.html

  <!DCTYPE html>      <head>          <meta type="utf-8"/>          <title>旋转动画</title>          <link rel="stylesheet" type="text/css" href="demo01.css">      </head>      <body>          <div class="container">              <div id="around">                  <figure>1<figure>                  <figure>2<figure>                  <figure>3<figure>                  <figure>4<figure>                  <figure>5<figure>                  <figure>6<figure>                  <figure>7<figure>                  <figure>8<figure>                  <figure>9<figure>              </div>          </div>      </body>  </html>      css代码如下:demo01.css  .container{      width:210px;      height:140px;      position:relative;      //3d视距,当为元素定义 perspective 属性时,其子元素会获得透视效果,而不是元素本身      perspective:1000px;      margin:50px auto 40px;  }  #around{      width:100%;      height:100%;      //规定如何在 3D 空间中呈现被嵌套的元素      transform-style:preserve-3d;      position:absolute;      //定义动画      animation:myMove 10s infinite;  }  #around figure{      display:block;      position:relative;      width:186px;      height:116px;      left:10px;      top:10px;      border:2px solid black;      text-align:center;      color:white;      font-weight:bold;      //与高度相等,使内容垂直居中显示      line-height:116px;  }  #around figure:nth-child(1){      transform: rotateY(0deg) translateZ(288px);      background-color:red;  }    #around figure:nth-child(2){      transform: rotateY(40deg) translateZ(288px);      background-color:orange;  }    #around figure:nth-child(3){      transform: rotateY(80deg) translateZ(288px);      background-color:yellow;  }    #around figure:nth-child(4){      transform: rotateY(120deg) translateZ(288px);      background-color:green;  }    #around figure:nth-child(5){      transform: rotateY(160deg) translateZ(288px);      background-color:darkgreen;  }    #around figure:nth-child(6){      transform: rotateY(200deg) translateZ(288px);      background-color:blue;  }    #around figure:nth-child(7){      transform: rotateY(240deg) translateZ(288px);      background-color:purple;  }    #around figure:nth-child(8){      transform: rotateY(280deg) translateZ(288px);      background-color:navy;  }   #around figure:nth-child(9){      transform: rotateY(320deg) translateZ(288px);      background-color:pink;  }  #keyframes myMove{    from{      transform: rotateY(360deg);        }    to{     transform: rotateY(0deg);    }}


 完成后的图示如下:

图片可以自动旋转。修改animation属性里的值可以实现无限循环(infinite)和多次循环(ease n).

如:animation:myMove 10s ease 2. myMove为动画函数,10s为完成动画所用时间。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.