• css3实现圆形逐渐减少动画


    写这个动画刚开始完全没有思路,后来参考网上的资料发现可以用半圆实现,具体原理如下:

    1.,一个div作为背景,三个div做出三个半圆出来,一个用于旋转,一个靠左(用于与背景吻合),一个靠右(用于与背景吻合)。

    2.做出另一组div更换背景色即可实现反方向的旋转。

    代码如下:

    <!DOCTYPE html>
    <html>
    <head>
        <style>
            .outer{
                position:relative;
                left:100px;
                top:100px;
                height:100px;
                width:100px;
                }
            .cont1,.cont2{
                position:absolute;
                height:100%;
                width:100%;
                border-radius:50px;
                overflow: hidden;
                }
            .cont1{
                background:red;
                opacity:1;
                animation:hide 4s steps(1,end) infinite;
                }
            .cont2{
                background:blue;
                opacity:0;
                animation:show 4s steps(1,end) infinite;
                }
            .rotateDiv{
                position:absolute;
                left:0;
                top:0;
                border-radius:50px 0 0 50px;
                background:blue;
                height:100%;
                width:50%;
                transform-origin:center right;
                animation:rotate 2s infinite linear;
    /*            transition:transform 2s;*/
                }
            .right{
                position:absolute;
                left:50px;
                top:0;
                border-radius:0 50px 50px 0;
                background:blue;
                height:100%;
                width:50%;
                opacity:1;
                animation: hide 2s steps(1,end) infinite;
                }
            .left{
                position:absolute;
                left:0;
                top:0;
                border-radius:50px 0 0 50px;
                background:red;
                height:100%;
                width:50%;
                opacity:0;
                animation: show 2s steps(1,end) infinite;
                }
    /*        .left-rotate:hover{
                transform:rotate(180);*/
            
            .cont2 .rotateDiv, .cont2 .right{
                background:red;
                } 
            .cont2 .left{
                background:blue;
                }
            /*css动画*/
            @keyframes rotate
                {
                    0%   {transform:rotate(0deg);}
                    100% {transform:rotate(-360deg);}
                }
            @keyframes show
                {
                    0%   {opacity:0;}
                    50%,100% {opacity:1;}
                }
            @keyframes hide
                {
                    0%   {opacity:1;}
                    50%,100% {opacity:0;}
                }
        </style>
    </head>
    <body>
    //css3动画
      <div class="outer">
        <div class="cont1">
            <div class="rotateDiv"></div>
            <div class="right"></div>
             <div class="left"></div>
           
        </div>
    <!--反方向的旋转-->
    <div class="cont2"> <div class="rotateDiv"></div> <div class="right"></div> <div class="left"></div> </div> </div> </body> </html>

    其中用到了一个css3,动画的step(1,end),不太理解。。。

    努力吧,为了媳妇儿,为了家。。。
  • 相关阅读:
    jsp第六周作业
    jsp第四次作业
    JSP第二次作业 2021 0310
    软件测试作业 NO.1
    北航软工优秀作业汇总
    Alpha阶段评审结果和意见反馈
    转会候选人名单
    人员转会流程
    关于团队项目阶段目标的说明
    2021年软工-热身阅读作业
  • 原文地址:https://www.cnblogs.com/jlj9520/p/6203089.html
Copyright © 2020-2023  润新知