• 基于CSS3伪元素和动画绘制旋转太极图


    通过CSS3的动画知识来完成一个旋转的太极。

    任务

    1、创建一个div,用CSS控制其大小、边框、位置等,做成一个静态的圆形,一半为红色一半为白色。

    2、用div的伪元素位置两个圆环并放置核实位置,使其成为一个太极图案。

    3、创建动画。

    4、定义动画的重复属性,让其循环播放。

    <!DOCTYPE html>
    <html>
    
    <head lang="zh-CN">
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
    
        <title></title>
        <style>
            /* 外围样式 */
            html,
            body {
                margin: 0;
                padding: 0;
                height: 100%;
            }
    
            /* 主体样式 */
    
            div {
                position: absolute;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                box-sizing: border-box;
                 400px;
                height: 400px;
                margin: auto;
                border-bottom: 200px solid red;
                border-radius: 50%;
                transform-origin: 50% 50%;
                animation-name: rotate;
                animation-duration: 5s;
                animation-timing-function: linear;
                /* 补充代码 */     
            }
    
           
        </style>
    </head>
    
    <body>
        <div></div>
    </body>
    
    </html>
    

      参考代码:

    <!DOCTYPE html>
    <html>
    
    <head lang="zh-CN">
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
    
        <title></title>
        <style>
            /* 外围样式 */
            html,
            body {
                margin: 0;
                padding: 0;
                height: 100%;
            }
    
            /* 主体样式 */
    
            div {
                position: absolute;
                top: 0;
                right: 0;
                bottom: 0;
                left: 0;
                box-sizing: border-box;
                 400px;
                height: 400px;
                margin: auto;
                border-bottom: 200px solid red;
                border-radius: 50%;
                transform-origin: 50% 50%;
                animation-name: rotate;
                animation-duration: 5s;
                animation-timing-function: linear;
                /* 补充代码 */
                box-shadow: 0 0 0 1px red,
                    0 0 20px 5px red;
                border-top: 200px solid white;
                animation-direction: normal;
                animation-iteration-count: infinite;
                animation-play-state: running;
            }
    
            /* 太极半圆 */
            div::after {
                 100px;
                height: 100px;
                border: 50px solid red;
                position: absolute;
                content: '';
                display: block;
                top: -100px;
                left: 0;
                border-radius: 50%;
                background-color: white;
    
            }
    
            div::before {
                 100px;
                height: 100px;
                border: 50px solid white;
                position: absolute;
                content: '';
                display: block;
                top: -100px;
                right: 0px;
                border-radius: 50%;
                background-color: red;
    
            }
    
            @keyframes rotate {
                from {
                    transform: rotateZ(0deg);
                }
    
                to {
                    transform: rotateZ(360deg);
                }
            }
        </style>
    </head>
    
    <body>
        <div></div>
    </body>
    
    </html>
    

      

  • 相关阅读:
    Python 文件批量改名
    解决 unity 生成 android apk read Resources
    IIS 重定向 自动追加 eurl.axd 后缀
    多线程
    zookeeper面试
    线程之间的通信(thread signal)
    软考高项之计算题成本类计算
    PowerDesigner PDM 复制comment到name
    软考高项之计算题进度类
    全面理解Java内存模型
  • 原文地址:https://www.cnblogs.com/f6056/p/11635947.html
Copyright © 2020-2023  润新知