​    CSS动画实例:旋转的同心圆    ​

 

      设页面中有,若定义.wrap的样式规则为:

  .wrap

  {

    width: 200px;

    height: 100px;

    top:100px;

    left:100px;

    position: absolute;

    background-color:#ff0;

    border:4px solid #f00;

    transform-origin: 50% 100%;

    animation: spin 2s cubic-bezier(.175, .885, .32, 1.275) infinite;

  }

定义关键帧spin,使矩形绕底部中点旋转起来

  @keyframes spin

  {

    0%,15% { transform: rotate(0); }

    100%   { transform: rotate(360deg);  }

  }

可在页面中呈现如图1所示的动画。

CSS动画实例:旋转的同心圆_旋转的同心圆 

图1  矩形绕底部中点旋转

      在页面中放置5个,使这5个矩形各自按给定的延迟进行旋转。编写如下的HTML文件。

 

 

 

 

 


 


 

 

 

 

 

 

 

 

 

 

 

 

      在浏览器中打开包含这段HTML代码的html文件,可以呈现出如图2所示的动画效果。

 CSS动画实例:旋转的同心圆_旋转的同心圆_02

图2  旋转的5个矩形

      在图2的5个矩形中依次放置5个圆,每个矩形中放置一个圆,每个圆的大小依次递减,使得5个圆同圆心,小圆完全嵌套在大圆内。取消原来矩形的边框和背景色设置。

编写如下的HTML文件。

 

 

 

 

 


 


 

 

 

 

 


 


 

 


 


 

 


 


 

 


 


 

 


 


 

 

 

 

      在浏览器中打开包含这段HTML代码的html文件,可以呈现出如图3所示的动画效果。

 CSS动画实例:旋转的同心圆_旋转的同心圆_03

图3  旋转的同心圆

      将呈现图3动画效果的HTML文件中,矩形的高度修改为50px(原来的一半),此时各个同心圆被裁掉了一大半(超出矩形的部分被隐藏),只剩下5条弧段。在浏览器中呈现出如图4所示的动画效果。这个动画效果可以作为一个Loading动画。

CSS动画实例:旋转的同心圆_旋转的同心圆_04 

图4  旋转的5条弧段