利用css圆角及动画实现旋转的太极图

利用csss圆角及动画实现旋转的太极图
1.css圆角:
css圆角是利用给盒子做边框倒角来实现圆形的制作,及在设定好盒子宽高之后添加boder-radios:50%;
2.动画:
动画在这里是设置太极图的旋转,利用@animation属性来实现动画效果。
接下来我简单说一下编辑过程:
第一步是编辑结构:
定义六个小盒子将作为太极图的各个部分,
最外层的盒子作为实现旋转效果的盒子。

<div id="main">
        <div class="box">
            <div class="box1"></div>
            <div class="box2"></div>
            <div class="box3"></div>
            <div class="box4"></div>
            <div class="box5"></div>
            <div class="box6"></div>
        </div>
</div>

接着是给盒子添加样式:
让每个盒子拥有不同的样式以此达到太极图的制作,
#main这一个盒子给了背景色是为了在添加动画后能够出现对比色,更好的显示动画效果,
#box这个盒子添加的animation属性配合最后的动画属性来时实现旋转动画效果。

#main{ 
            width: 200px;
            height: 200px; 
            background: grey;
            margin:100px auto;
            position: relative;
        }
#main .box{  
        width: 200px;
        height: 200px;
        position: relative;
        animation: 3s move linear infinite;   
        border-radius: 50%;
         }

         /* 这里的box1和box2是用来实现左右两个白色和黑色半圆 */
#main .box1{ 
            width: 100px;
            height: 200px;
            background: white;
            border-radius: 100px 0 0 100px;
            position: absolute;
            left: 0;
            top: 0;
        }
#main .box2{  
            width: 100px;
             height: 200px;
              background:black;
            border-radius: 0 100px  100px  0;
            position: absolute;
            left:100px;
            top: 0;
            }

在这里插入图片描述

            /* 这里的box3和box4是用来实现上下黑色和白色相交的弧形(也就是两个逗号) */
#main .box3{ 
            width: 100px;
             height: 100px;
              background:black;
            border-radius: 50px;
            position: absolute;
            left:50px;
            top: 0;
        }
#main .box4{ 
            width: 100px; 
            height: 100px;
             background:white;
            border-radius: 50px;
            position: absolute; 
            right:50px; 
            bottom:0;
        }

在这里插入图片描述

  /* 这里的box5和box6是用来实现上下黑色和白色 中心的小圆*/
#main .box5{
            width: 30px; 
            height: 30px;
             background:white;
            border-radius: 15px;
            position: absolute; 
            left:85px; 
            top:35px;
        }
#main .box6{ 
            width: 30px;
            height: 30px;
            background:black;
            border-radius: 15px;
            position: absolute; left:85px; bottom:35px; z-index: 1;
        }

在这里插入图片描述

最后是定义动画:
这里是让所有圆整体逆时针旋转以达到动画效果

 @keyframes move{
            0%{transform: rotate(0deg);}
            100%{transform: rotate(-360deg);}
        }
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
CSS动画实现旋转木马可以通过CSS3中的transform属性以及transition属性来实现。具体步骤如下: 1. 创建一个包含多个子元素的容器,每个子元素代表旋转木马中的一个板块。 2. 使用CSS3中的transform属性对容器进行旋转、平移等操作,使其形成旋转木马的效果。 3. 使用transition属性对容器进行过渡效果的设置,使其能够平滑地旋转。 4. 对每个子元素进行定位,并设置其旋转角度和z-index值,使其在旋转时呈现出正确的位置和层次关系。 5. 可以通过JavaScript来控制容器的旋转速度和方向,以及点击子元素时的响应事件等。 以下是一个简单的CSS动画实现旋转木马的示例代码: ```html <div class="carousel"> <div class="item item1"></div> <div class="item item2"></div> <div class="item item3"></div> <div class="item item4"></div> <div class="item item5"></div> </div> ``` ```css .carousel { position: relative; width: 500px; height: 300px; margin: 0 auto; perspective: 1000px; } .item { position: absolute; top: 0; left: 0; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 1s ease-in-out; } .item1 { transform: rotateY(0deg) translateZ(250px); } .item2 { transform: rotateY(72deg) translateZ(250px); } .item3 { transform: rotateY(144deg) translateZ(250px); } .item4 { transform: rotateY(216deg) translateZ(250px); } .item5 { transform: rotateY(288deg) translateZ(250px); } .carousel:hover .item { transform: rotateY(-60deg); } .item:hover { transform: translateZ(300px); } ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值