python实现圆的旋转动画_如何使用css3制作圆形旋转动画(附完整代码)

随着css3的广泛应用,人们浏览的web网页越来越多元化,而前端开发者也越来越注重人机交互和用户体验。从一开始的文字到后来的图片,以至于现在的动画特效,人们对于网页的要求也越来越挑剔,那么今天给大家展示一下如何使用css3制作旋转动画。本文在介绍如何使用css3制作旋转动画的基础上,重点探讨了其具体步骤,本文内容紧凑,希望大家可以有所收获。

实例如图所示

使用css3制作旋转动画的思路

首先我们需要使用div画出这8个图标,我们通过观察可以发现,8个图标可以分成4组div,并且可以将圆形等分为8份,这样可以方便我们随后的操作。我是每两个垂直对应的圆就放在同一个div中,令其旋转起来需要使用css3中的旋转属性:第一个div先保持不动,第二个div旋转45°,以此类推,下一个div都要比上一个div多旋转45°就可以实现布局。

使用css3制作旋转动画的步骤

步骤一:画出8个图标设置成4个div

步骤二:使用css3布局.out_circle{

width:440px;

height:440px;

border:1px solid;

border-radius:50%;

margin:30px auto 0 auto;

position: relative;

}

.nav_circle{

width:110px;

height:440px;

float:left;

position:absolute;

top:0;

left:169px;

text-align:center;

}

.img_top{

top:-27px;

-webkit-transform: rotate(0deg);

}

.img_bottom{

top:316px;

-webkit-transform: rotate(0deg);

}

.img_top img,.img_bottom img{

width:77px;

height: 77px;

}

.img_top,.img_bottom{

position: relative;

z-index:1;

}

.nav_circle .img a{

position: absolute;

top:10px;

left:94px;

width: 52px;

}

.r1{

transform:rotate(0deg) skew(0deg) scale(1);

-ms-transform:rotate(0deg) skew(0deg) scale(1); /* IE 9 */

-moz-transform:rotate(0deg) skew(0deg) scale(1); /* Firefox */

-webkit-transform:rotate(0deg) skew(0deg) scale(1); /* Safari ºÍ Chrome */

-o-transform:rotate(0deg) skew(0deg) scale(1);

animation: rotate 10s linear infinite;

-webkit-animation:rotate 10s linear infinite;

-moz-animation:rotate 10s linear infinite;

-o-animation:rotate 10s linear infinite;

}

.r1 .img{

transform:rotate(0deg) skew(0deg) scale(1);

-ms-transform:rotate(0deg) skew(0deg) scale(1); /* IE 9 */

-moz-transform:rotate(0deg) skew(0deg) scale(1); /* Firefox */

-webkit-transform:rotate(0deg) skew(0deg) scale(1); /* Safari ºÍ Chrome */

-o-transform:rotate(0deg) skew(0deg) scale(1);

animation:rotate_c1 10s linear infinite;

-webkit-animation:rotate_c1 10s linear infinite;

}

.r2{

transform:rotate(45deg) skew(0deg) scale(1);

-ms-transform:rotate(45deg) skew(0deg) scale(1); /* IE 9 */

-moz-transform:rotate(45deg) skew(0deg) scale(1); /* Firefox */

-webkit-transform:rotate(45deg) skew(0deg) scale(1); /* Safari ºÍ Chrome */

-o-transform:rotate(45deg) skew(0deg) scale(1);

animation: rotatef 10s linear infinite;

-webkit-animation:rotatef 10s linear infinite;

-moz-animation:rotatef 10s linear infinite;

-o-animation:rotatef 10s linear infinite;

}

.r2 .img {

transform:rotate(-45deg) skew(0deg) scale(1);

-ms-transform:rotate(-45deg) skew(0deg) scale(1); /* IE 9 */

-moz-transform:rotate(-45deg) skew(0deg) scale(1); /* Firefox */

-webkit-transform:rotate(-45deg) skew(0deg) scale(1); /* Safari ºÍ Chrome */

-o-transform:rotate(-45deg) skew(0deg) scale(1);

animation:rotate_c2 10s linear infinite;

-webkit-animation:rotate_c2 10s linear infinite;

}

.r3 {

transform:rotate(90deg) skew(0deg) scale(1);

-ms-transform:rotate(90deg) skew(0deg) scale(1); /* IE 9 */

-moz-transform:rotate(90deg) skew(0deg) scale(1); /* Firefox */

-webkit-transform:rotate(90deg) skew(0deg) scale(1); /* Safari ºÍ Chrome */

-o-transform:rotate(90deg) skew(0deg) scale(1);

animation: rotates 10s linear infinite;

-webkit-animation:rotates 10s linear infinite;

-moz-animation:rotates 10s linear infinite;

-o-animation:rotates 10s linear infinite;

}

.r3 .img{

transform:rotate(-90deg) skew(0deg) scale(1);

-ms-transform:rotate(-90deg) skew(0deg) scale(1); /* IE 9 */

-moz-transform:rotate(-90deg) skew(0deg) scale(1); /* Firefox */

-webkit-transform:rotate(-90deg) skew(0deg) scale(1); /* Safari ºÍ Chrome */

-o-transform:rotate(-90deg) skew(0deg) scale(1);

animation:rotate_c3 10s linear infinite;

-webkit-animation:rotate_c3 10s linear infinite;

}

.r4{

transform:rotate(135deg) skew(0deg) scale(1);

-ms-transform:rotate(135deg) skew(0deg) scale(1); /* IE 9 */

-moz-transform:rotate(135deg) skew(0deg) scale(1); /* Firefox */

-webkit-transform:rotate(135deg) skew(0deg) scale(1); /* Safari ºÍ Chrome */

-o-transform:rotate(135deg) skew(0deg) scale(1);

animation: rotatet 20s linear infinite;

-webkit-animation:rotatet 10s linear infinite;

-moz-animation:rotatet 10s linear infinite;

-o-animation:rotatet 10s linear infinite;

}

.r4 .img{

transform:rotate(-135deg) skew(0deg) scale(1);

-ms-transform:rotate(-135deg) skew(0deg) scale(1); /* IE 9 */

-moz-transform:rotate(-135deg) skew(0deg) scale(1); /* Firefox */

-webkit-transform:rotate(-135deg) skew(0deg) scale(1); /* Safari ºÍ Chrome */

-o-transform:rotate(-135deg) skew(0deg) scale(1);

animation:rotate_c4 10s linear infinite;

-webkit-animation:rotate_c4 10s linear infinite;

}

步骤三:为每个div创建动画

第一个div@keyframes rotate{

0%{

transform:rotate(0deg) skew(0deg) scale(1);

-ms-transform:rotate(0deg) skew(0deg) scale(1); /* IE 9 */

-moz-transform:rotate(0deg) skew(0deg) scale(1); /* Firefox */

-webkit-transform:rotate(0deg) skew(0deg) scale(1); /* Safari ºÍ Chrome */

-o-transform:rotate(0deg) skew(0deg) scale(1);

}

100%{

transform:rotate(360deg) skew(0deg) scale(1);

-ms-transform:rotate(360deg) skew(0deg) scale(1); /* IE 9 */

-moz-transform:rotate(360deg) skew(0deg) scale(1); /* Firefox */

-webkit-transform:rotate(360deg) skew(0deg) scale(1); /* Safari ºÍ Chrome */

-o-transform:rotate(360deg) skew(0deg) scale(1);

}

}

第二个div@keyframes rotatef{

0%{

transform:rotate(45deg) skew(0deg) scale(1);

-ms-transform:rotate(45deg) skew(0deg) scale(1); /* IE 9 */

-moz-transform:rotate(45deg) skew(0deg) scale(1); /* Firefox */

-webkit-transform:rotate(45deg) skew(0deg) scale(1); /* Safari ºÍ Chrome */

-o-transform:rotate(45deg) skew(0deg) scale(1);

}

100%{

transform:rotate(405deg) skew(0deg) scale(1);

-ms-transform:rotate(405deg) skew(0deg) scale(1); /* IE 9 */

-moz-transform:rotate(405deg) skew(0deg) scale(1); /* Firefox */

-webkit-transform:rotate(405deg) skew(0deg) scale(1); /* Safari ºÍ Chrome */

-o-transform:rotate(405deg) skew(0deg) scale(1);

}

}

第三个div@keyframes rotates{

0%{

transform:rotate(90deg) skew(0deg) scale(1);

-ms-transform:rotate(90deg) skew(0deg) scale(1); /* IE 9 */

-moz-transform:rotate(90deg) skew(0deg) scale(1); /* Firefox */

-webkit-transform:rotate(90deg) skew(0deg) scale(1); /* Safari ºÍ Chrome */

-o-transform:rotate(90deg) skew(0deg) scale(1);

}

100%{

transform:rotate(450deg) skew(0deg) scale(1);

-ms-transform:rotate(450deg) skew(0deg) scale(1); /* IE 9 */

-moz-transform:rotate(450deg) skew(0deg) scale(1); /* Firefox */

-webkit-transform:rotate(450deg) skew(0deg) scale(1); /* Safari ºÍ Chrome */

-o-transform:rotate(450deg) skew(0deg) scale(1);

}

}

第四个div@keyframes rotatet{

0%{

transform:rotate(135deg) skew(0deg) scale(1);

-ms-transform:rotate(135deg) skew(0deg) scale(1); /* IE 9 */

-moz-transform:rotate(135deg) skew(0deg) scale(1); /* Firefox */

-webkit-transform:rotate(135deg) skew(0deg) scale(1); /* Safari ºÍ Chrome */

-o-transform:rotate(135deg) skew(0deg) scale(1);

}

100%{

transform:rotate(495deg) skew(0deg) scale(1);

-ms-transform:rotate(495deg) skew(0deg) scale(1); /* IE 9 */

-moz-transform:rotate(495deg) skew(0deg) scale(1); /* Firefox */

-webkit-transform:rotate(495deg) skew(0deg) scale(1); /* Safari ºÍ Chrome */

-o-transform:rotate(495deg) skew(0deg) scale(1);

}

}

注意

因为css3的旋转属性并不是所有浏览器都可以兼容的,所以在创建完之后要给相应的类添加动画名。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值