zoukankan      html  css  js  c++  java
  • CSS3 实现别样图型

    1.爱心

    利用 div 的正方形和伪类的圆型组合而成

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                .heart{
                    position: absolute;
                    top:50%;
                    left: 50%;
                    transform:translate(-50%,-50%) rotate(45deg);
                    background: red;
                    width: 100px;
                    height: 100px;
                }
                .heart:before,.heart:after{
                    content: '';
                    position: absolute;
                    top: 0;
                    left: -50px;
                    width: 100px;
                    height: 100px;
                    border-radius: 50%;
                    background: red;
                }
                .heart:after{
                    top: -50px;
                    left: 0;
                }
    
            </style>
        </head>
        <body>
            <div class="heart"></div>
        </body>
    </html>
    View Code

    2.气泡悬浮框

    利用 border 结合 transparent 特性实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                .bubbly{
                    position: absolute;
                    top:50%;
                    left: 50%;
                    transform:translate(-50%,-50%);
                    background: #ff8820;
                    border-radius: 8px;
                    width: 200px;
                    padding: 40px 10px;
                    text-align: center;
                    color: white;
                    font-size: 20px;
                }
                .bubbly:after {
                    content: '';
                    position: absolute;
                    bottom: 0;
                    left: 50%;
                    border: 34px solid transparent;
                    border-top-color: #ff8820;
                    border-bottom: 0;
                    border-left: 0;
                    margin: 0 0 -34px -17px;
                }
    
            </style>
        </head>
        <body>
            <div class="bubbly">气泡悬浮框</div>
        </body>
    </html>
    View Code

    3.切角

    利用使用线性渐变实现的

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*notching*/
                .notching{
                    position: absolute;
                    top:50%;
                    left: 50%;
                    transform:translate(-50%,-50%);
                    width: 200px;
                    padding: 60px 20px;
                }
                .notching{
                    background:
                            linear-gradient(135deg, transparent 15px, deeppink 0)
                            top left,
                            linear-gradient(-135deg, transparent 15px, deeppink 0)
                            top right,
                            linear-gradient(-45deg, transparent 15px, deeppink 0)
                            bottom right,
                            linear-gradient(45deg, transparent 15px, deeppink 0)
                            bottom left;
                    background-size: 50% 50%;
                    background-repeat: no-repeat;
                }
    
            </style>
        </head>
        <body>
            <div class="notching"></div>
        </body>
    </html>
    View Code

    4.弧形切角

     

    使用径向渐变实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*arc*/
            .arc{
                position: absolute;
                top:50%;
                left: 50%;
                transform:translate(-50%,-50%);
                width: 80px;
                padding: 80px;
            }
            .arc {
                background:
                        radial-gradient(circle at top left,
                        transparent 15px, yellowgreen 0) top left,
                        radial-gradient(circle at top right,
                        transparent 15px, yellowgreen 0) top right,
                        radial-gradient(circle at bottom right,
                        transparent 15px, yellowgreen 0) bottom right,
                        radial-gradient(circle at bottom left,
                        transparent 15px, yellowgreen 0) bottom left;
                background-size: 50% 50%;
                background-repeat: no-repeat;
            }
            </style>
        </head>
        <body>
            弧形切角
            <div class="arc"></div>
        </body>
    </html>
    View Code

    5.梯形

    利用伪类加旋转透视实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*trapezoid*/
                .trapezoid{
                    position: absolute;
                    top:50%;
                    left: 50%;
                    transform:translate(-50%,-50%);
                    width: 160px;
                    padding: 60px;
                }
                .trapezoid:before{
                    content:"";
                    position: absolute;
                    top: 0; 
                    right: 0;
                    bottom: 0; 
                    left: 0;
                    transform:perspective(40px) scaleY(1.3) rotateX(5deg);
                    transform-origin: bottom;
                    background:dodgerblue;
                    z-index:-1;
                }
            </style>
        </head>
        <body>
            梯形
            <div class="trapezoid"></div>
        </body>
    </html>
    View Code

    6.饼图

     

    利用伪类、线性渐变、旋转实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*pie*/
                .pie{
                    position: absolute;
                    top:50%;
                    left: 50%;
                    transform:translate(-50%,-50%);
                    width: 200px;
                    height:200px;
                    border-radius:50%;
                    text-align: center;
                    background-color:yellowgreen;
                    overflow:hidden;
                    background-image: linear-gradient(to right, transparent 50%, #655 0);
                    cursor:pointer;
                }
                .pie:before{
                    content:"";
                    position:absolute;
                    top:0;
                    left:50%;
                    width:50%;
                    height:100%;
                    background-color: inherit;
                    transform-origin: left;
                    z-index:-1;
                    transform:rotate(.1turn);
                }
                .pie:hover:before{
                    transition:all 1s;
                    transform:rotate(.45turn);
                }
    
            </style>
        </head>
        <body>
            饼图
            <div class="pie"></div>
        </body>
    </html>
    View Code

    7.平行四边形

     

    利用伪类、拉伸实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*parallelogram*/
                .parallelogram{
                    position: absolute;
                    top:50%;
                    left: 50%;
                    transform:translate(-50%,-50%);
                    width: 200px;
                    height:120px;
                
                }
                .parallelogram:before{
                    content: '';
                    position: absolute;
                    top: 0;
                    right: 0;
                    bottom: 0;
                    left: 0;
                    background-color:#00aabb;
                    z-index:-1;
                    transform: skew(.08turn);
                }
    
            </style>
        </head>
        <body>
            平行四边形
            <div class="parallelogram"></div>
        </body>
    </html>
    View Code

    8.折角

    利用切角、伪类、渐变、旋转实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*corner*/
                .corner{
                    position: absolute;
                    top:50%;
                    left: 50%;
                    transform:translate(-50%,-50%);
                    width: 120px;
                    height:120px;
                    padding:40px;
                    background:linear-gradient(-150deg,transparent 1.5em, yellowgreen  0);
                    border-radius:8px;
                }
                .corner:before{
                    content: '';
                    position: absolute;
                    top: 0; right: 0;
                    background: linear-gradient(to left bottom,transparent 50%, rgba(0,0,0,.2) 0, rgba(0,0,0,.4)) 100% 0 no-repeat;
                    width: 1.73em;
                    height: 3em;
                    transform: translateY(-1.3em) rotate(-30deg);
                    transform-origin: bottom right;
                    border-bottom-left-radius: inherit;
                    box-shadow: -.2em .2em .3em -.1em rgba(0,0,0,.15);
                }
    
            </style>
        </head>
        <body>
            折角
            <div class="corner"></div>
        </body>
    </html>
    View Code

    9.纯CSS 方案实现背景变暗效果(hover按钮触发)

         

    鼠标移入

    利用 box-shadow 实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*spectiveBlur*/
                .spectiveBlur{
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    width: 220px;
                    height:160px;
                    transform: translate(-50%, -50%);
                    border-radius:10px;
                    overflow:hidden;
                    background:#E91E63;
                    cursor:pointer;
                    transition: transform .2s;
                }
                .spectiveBlur:hover{
                    box-shadow:0 0 0 1920px rgba(0,0,0,.7);
                    transform: translate(-50%, -50%) scale(1.2);
                }
    
            </style>
        </head>
        <body>
            背景变暗效果
            <div class="spectiveBlur"></div>
        </body>
    </html>
    View Code

    10.条纹背景图 

    主要是利用渐变实现 

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*stripe*/
                .stripe{
                    position: absolute;
                    top:50%;
                    left: 50%;
                    transform:translate(-50%,-50%);
                    width: 200px;
                    height:200px;
                    background:deeppink;
                    border-radius:.5em;
                    background:repeating-linear-gradient(45deg,#CC9999, #CC9999 15px, #CCCCCC 0, #CCCCCC 30px)
                }
    
            </style>
        </head>
        <body>
            条纹背景图
            <div class="stripe"></div>
        </body>
    </html>
    View Code

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*wave-stripe*/
                .wave-stripe{
                    position: absolute;
                    top:50%;
                    left: 50%;
                    transform:translate(-50%,-50%);
                    width: 200px;
                    height:200px;
                    border-radius:.5em;
                    background:
                            linear-gradient(135deg, deeppink 25%, transparent 25%) -50px 0,
                            linear-gradient(225deg, deeppink 25%, transparent 25%) -50px 0,
                            linear-gradient(315deg, deeppink 25%, transparent 25%),
                            linear-gradient(45deg, deeppink 25%, transparent 25%);
                    background-size: 40px 40px;
                }
            </style>
        </head>
        <body>
            条纹背景图
            <div class="wave-stripe"></div>
        </body>
    </html>
    View Code

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*arrow-stripe*/
                .arrow-stripe{
                    position: absolute;
                    top:50%;
                    left: 50%;
                    transform:translate(-50%,-50%);
                    width: 200px;
                    height:200px;
                    border-radius:.5em;
                    background:
                            linear-gradient(45deg, #92baac 45px, transparent 45px)64px 64px,
                            linear-gradient(45deg, #92baac 45px, transparent 45px,transparent 91px, #e1ebbd 91px, #e1ebbd 135px, transparent 135px),
                            linear-gradient(-45deg, #92baac 23px, transparent 23px, transparent 68px,#92baac 68px,#92baac 113px,transparent 113px,transparent 158px,#92baac 158px);
                    background-color:#e1ebbd;
                    background-size: 128px 128px;
                }
    
            </style>
        </head>
        <body>
            条纹背景图
            <div class="arrow-stripe"></div>
        </body>
    </html>
    View Code

    11.混合模式背景图 

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                .colorful-stripe {
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    transform: translate(-50%, -50%);
                    width: 300px;
                    height: 200px;
                    text-align: center;
                    color: #fff;
                    font-size: 200%;
                    border-radius: .5em;
                    background:
                            linear-gradient(limegreen, transparent), linear-gradient(90deg, skyblue, transparent), linear-gradient(-90deg, coral, transparent);
                    background-blend-mode: screen;
                }
            </style>
        </head>
        <body>
            混合模式背景图
            <div class="colorful-stripe"></div>
        </body>
    </html>
    View Code

      

    12.太阳     (动态)

    利用线性渐变、阴影、旋转实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*sun*/
                .sun{
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    width:200px;
                    height:260px;
                    transform: translate(-50%, -50%);
                    background:#0BF;
                    border-radius:5px;
                }
                .sun:before{
                    content:"";
                    position: absolute;
                    width: 80px;
                    height: 80px;
                    left: 50%;
                    top: 50%;
                    transform: translate(-50%, -50%);
                    border-radius:50%;
                    background:rgba(255, 238, 68, 1);
                    box-shadow: 0 0 0 15px rgba(255,255,0,0.2),0 0 15px #fff;
                    z-index:-10;
                }
                .sun:after{
                    content:"";
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    height: 160px;
                    width: 160px;
                    transform: translate(-50%, -50%) rotate(30deg);
                    z-index:-100;
                    background-image:
                            -webkit-linear-gradient(top,rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0) 100%),
                            -webkit-linear-gradient(left,rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0) 100%);
                    background-size: 20px 100%, 100% 20px;
                    background-repeat: no-repeat;
                    background-position: center center, center center;
                    animation:sunRotate 10s linear infinite;
                }
                @keyframes sunRotate{
                    0%{
                        transform: translate(-50%, -50%) rotate(30deg);
                    }
                    100%{
                        transform: translate(-50%, -50%) rotate(390deg);
                    }
                }
    
            </style>
        </head>
        <body>
            太阳
            <div class="sun"></div>
        </body>
    </html>
    View Code

    13.多云     (动态)

    利用线性渐变、阴影、缩放实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*cloudy*/
                .cloudy{
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    width:200px;
                    height:260px;
                    transform: translate(-50%, -50%);
                    background:#2EB5E5;
                    border-radius:5px;
                }
                .cloudy:before {
                    content: "";
                    text-indent:23px;
                    font-size:22px;
                    line-height:40px;
                    color:#333;
                    position: absolute;
                    height: 50px;width: 50px;
                    background: #FFFFFF;
                    left:30%;
                    top:45%;
                    transform: translate(-50%, -50%);
                    border-radius: 50%;
                    box-shadow:
                            #FFFFFF 65px -15px 0 -5px,
                            #FFFFFF 25px -25px,
                            #FFFFFF 30px 10px,
                            #FFFFFF 60px 15px 0 -10px,
                            #FFFFFF 85px 5px 0 -5px,
                            #C8C8C8 35px -35px,
                            #C8C8C8 66px -27px 0 -5px,
                            #C8C8C8 91px -10px 0 -8px;
                    animation: cloudy 5s ease-in-out infinite;
                }
                .cloudy:after{
                    content:"";
                    position: absolute;
                    top: 80%;
                    left: 50%;
                    height: 15px;
                    width: 120px;
                    background:rgba(0,0,0,.5);
                    border-radius: 50%;
                    transform: translate(-50%, -50%);
                    animation: cloudy_shadow 5s ease-in-out infinite;
                }
                @keyframes cloudy {
                    50%{
                        transform: translate(-50%, -70%);
                    }
                    100%{
                        transform: translate(-50%, -50%);
                    }
                }
                @keyframes cloudy_shadow {
                    50%{
                        transform: translate(-50%, -50%) scale(0.8);
                        background:rgba(0,0,0,.2);
                    }
                    100%{
                        transform: translate(-50%, -50%) scale(1);
                        background:rgba(0,0,0,.5);
                    }
                }
    
            </style>
        </head>
        <body>
            多云
            <div class="cloudy"></div>
        </body>
    </html>
    View Code

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*cloudy2*/
                .cloudy2{
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    width:200px;
                    height:260px;
                    transform: translate(-50%, -50%);
                    background:#2EB5E5;
                    border-radius:5px;
                }
                .cloudy2:before {
                    content: "";
                    text-indent:23px;
                    font-size:22px;
                    line-height:40px;
                    color:#333;
                    position: absolute;
                    height: 50px;width: 50px;
                    background: #FFFFFF;
                    left:30%;
                    top:55%;
                    transform: translate(-50%, -50%);
                    border-radius: 50%;
                    z-index:100;
                    box-shadow:
                            #FFFFFF 65px -15px 0 -5px,
                            #FFFFFF 25px -25px,
                            #FFFFFF 30px 10px,
                            #FFFFFF 60px 15px 0 -10px,
                            #FFFFFF 85px 5px 0 -5px;
                    animation: cloudy2 5s ease-in-out infinite;
                }
                .cloudy2:after{
                    content:"";
                    position: absolute;
                    top: 45%;left: 63%;
                    height: 60px;
                    width: 60px;
                    z-index:10;
                    background:linear-gradient(180deg,#FE9F38 0%, #F46635 100%);
                    border-radius: 50%;
                    transform: translate(-50%, -50%);
                    box-shadow: 0 0 10px 4px #FFA563;
                    animation: cloudy2 10s ease-in-out infinite;
                }
                @keyframes cloudy2 {
                    50%{
                        transform: translate(-50%, -70%);
                    }
                    100%{
                        transform: translate(-50%, -50%);
                    }
                }
            </style>
        </head>
        <body>
            多云
            <div class="cloudy2"></div>
        </body>
    </html>
    View Code

    14.雨   (动态)

    利用线性渐变、阴影、缩放实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*rainy*/
                .rainy {
                    position: absolute;
                    width: 3px;
                    height: 6px;
                    top: 30%;
                    left: 50%;
                    background: #CCCCCC;
                    border-radius: 50%;
                    animation: rainy_rain .7s infinite linear;
                }
                .rainy:before {
                    content: "";
                    color: #333;
                    position: absolute;
                    height: 50px;
                    width: 50px;
                    top: 30px;
                    left: -40px;
                    background: #CCC;
                    transform: translate(-50%, -50%);
                    border-radius: 50%;
                    box-shadow: #CCC 65px -15px 0 -5px, #CCC 25px -25px, #CCC 30px 10px, #CCC 60px 15px 0 -10px, #CCC 85px 5px 0 -5px;
                    animation: cloudy 5s ease-in-out infinite;
                }
                .rainy:after {
                    content: "";
                    position: absolute;
                    top: 120px;
                    left: 50%;
                    height: 15px;
                    width: 120px;
                    background: rgba(0, 0, 0, .5);
                    border-radius: 50%;
                    transform: translate(-50%, -50%);
                    animation: cloudy_shadow 5s ease-in-out infinite;
                }
                @keyframes cloudy {
                    50% {
                        transform: translate(-50%, -70%);
                    }
                    100% {
                        transform: translate(-50%, -50%);
                    }
                }
                @keyframes cloudy_shadow {
                    50% {
                        transform: translate(-50%, -50%) scale(0.8);
                        background: rgba(0, 0, 0, .2);
                    }
                    100% {
                        transform: translate(-50%, -50%) scale(1);
                        background: rgba(0, 0, 0, .5);
                    }
                }
                @keyframes rainy_rain {
                    0% {
                        box-shadow: rgba(0, 0, 0, 0) -10px 30px, rgba(0, 0, 0, 0) 40px 40px, rgba(0, 0, 0, .3) -50px 75px, rgba(0, 0, 0, .3) 55px 50px, rgba(0, 0, 0, .3) -18px 100px, rgba(0, 0, 0, .3) 12px 95px, rgba(0, 0, 0, .3) -31px 45px, rgba(0, 0, 0, .3) 30px 35px;
                    }
                    25% {
                        box-shadow: rgba(0, 0, 0, .3) -10px 45px, rgba(0, 0, 0, .3) 40px 60px, rgba(0, 0, 0, .3) -50px 90px, rgba(0, 0, 0, .3) 55px 65px, rgba(0, 0, 0, 0) -18px 120px, rgba(0, 0, 0, 0) 12px 120px, rgba(0, 0, 0, .3) -31px 70px, rgba(0, 0, 0, .3) 30px 60px;
                    }
                    26% {
                        box-shadow: rgba(0, 0, 0, .3) -10px 45px, rgba(0, 0, 0, .3) 40px 60px, rgba(0, 0, 0, .3) -50px 90px, rgba(0, 0, 0, .3) 55px 65px, rgba(0, 0, 0, 0) -18px 40px, rgba(0, 0, 0, 0) 12px 20px, rgba(0, 0, 0, .3) -31px 70px, rgba(0, 0, 0, .3) 30px 60px;
                    }
                    50% {
                        box-shadow: rgba(0, 0, 0, .3) -10px 70px, rgba(0, 0, 0, .3) 40px 80px, rgba(0, 0, 0, 0) -50px 100px, rgba(0, 0, 0, .3) 55px 80px, rgba(0, 0, 0, .3) -18px 60px, rgba(0, 0, 0, .3) 12px 45px, rgba(0, 0, 0, .3) -31px 95px, rgba(0, 0, 0, .3) 30px 85px;
                    }
                    51% {
                        box-shadow: rgba(0, 0, 0, .3) -10px 70px, rgba(0, 0, 0, .3) 40px 80px, rgba(0, 0, 0, 0) -50px 45px, rgba(0, 0, 0, .3) 55px 80px, rgba(0, 0, 0, .3) -18px 60px, rgba(0, 0, 0, .3) 12px 45px, rgba(0, 0, 0, .3) -31px 95px, rgba(0, 0, 0, .3) 30px 85px;
                    }
                    75% {
                        box-shadow: rgba(0, 0, 0, .3) -10px 95px, rgba(0, 0, 0, .3) 40px 100px, rgba(0, 0, 0, .3) -50px 60px, rgba(0, 0, 0, 0) 55px 95px, rgba(0, 0, 0, .3) -18px 80px, rgba(0, 0, 0, .3) 12px 70px, rgba(0, 0, 0, 0) -31px 120px, rgba(0, 0, 0, 0) 30px 110px;
                    }
                    76% {
                        box-shadow: rgba(0, 0, 0, .3) -10px 95px, rgba(0, 0, 0, .3) 40px 100px, rgba(0, 0, 0, .3) -50px 60px, rgba(0, 0, 0, 0) 55px 35px, rgba(0, 0, 0, .3) -18px 80px, rgba(0, 0, 0, .3) 12px 70px, rgba(0, 0, 0, 0) -31px 25px, rgba(0, 0, 0, 0) 30px 15px;
                    }
                    100% {
                        box-shadow: rgba(0, 0, 0, 0) -10px 120px, rgba(0, 0, 0, 0) 40px 120px, rgba(0, 0, 0, .3) -50px 75px, rgba(0, 0, 0, .3) 55px 50px, rgba(0, 0, 0, .3) -18px 100px, rgba(0, 0, 0, .3) 12px 95px, rgba(0, 0, 0, .3) -31px 45px, rgba(0, 0, 0, .3) 30px 35px;
                    }
                }
    
            </style>
        </head>
        <body><div class="rainy "></div>
        </body>
    </html>
    View Code

    15.微风   (动态)

         

    利用border、transparent、实现,这个会多一层 div.breeze-container 包裹

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*breeze*/
                .breeze-container{
                    position: absolute;
                    top: 50%;left: 50%;
                    width:200px;height:260px;
                    transform: translate(-50%, -50%);
                    text-align:center;
                    font-size:200%;
                    color:#fff;
                    background:#00BBFF;
                    border-radius:5px;
                }
                .breeze-container:after{
                    content:"";
                    position:absolute;
                    top:58%;
                    left:50%;
                    transform: translate(-50%, -50%);
                    width:6px;
                    height:70px;
                    background:#fff;
                }
                .breeze{
                    position:absolute;
                    top: 30%;
                    left: 50%;
                    transform: translate(-50%, -50%) rotate(1deg);
                    border-bottom:60px solid #fff;
                    border-left:5px solid transparent;
                    border-right:5px solid transparent;
                    animation: windmill 12s infinite linear;
                    transform-origin:50.5% 62px;
                }
                .breeze:before{
                    position:absolute;
                    top: 75px;left: -59px;
                    content:"";
                    border-right:60px solid #fff;
                    border-top:5px solid transparent;
                    border-bottom:5px solid transparent;
                    transform:rotate(-30deg);
                }
                .breeze:after{
                    position:absolute;
                    top: 75px;left: -1px;
                    content:"";
                    border-left:60px solid #fff;
                    border-top:5px solid transparent;
                    border-bottom:5px solid transparent;
                    transform:rotate(30deg);
                }
                @keyframes windmill{
                    0%{
                        transform: translate(-50%, -50%) rotate(0deg);
                    }
                    100%{
                        transform: translate(-50%, -50%) rotate(360deg);
                    }
                }
    
            </style>
        </head>
        <body>
            微风
            <div class="breeze-container ">
                <div class="breeze"></div>
            </div>
        </body>
    </html>
    View Code

    16.彩虹     (动态)

    主要是利用border、box-shadow 实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*rainbow*/
                .rainbow-container{
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    width:200px;
                    height:260px;
                    transform: translate(-50%, -50%);
                    background:#F3D166;
                    border-radius:5px;
                }
                .rainbow{
                    position:absolute;
                    top: 50%;
                    left: 50%;
                    transform: translate(-50%, -50%);
                    height: 1px;width: 1px;
                }
                .rainbow:before{
                    content:"";
                    position:absolute;
                    top: 50%;left: 50%;
                    transform: translate(-50%, -50%) rotate(45deg);
                    height: 70px;width: 70px;
                    border-radius: 100px 0 0 0;
                    box-shadow:
                            #F44336 -2px -2px 0 1px,
                            #FF9800 -4px -4px 0 3px,
                            #FFEB3B -6px -6px 0 5px,
                            #8BC34A -8px -8px 0 7px,
                            #00BCD4 -10px -10px 0 9px,
                            #2196F3 -12px -12px 0 11px,
                            #9C27B0 -14px -14px 0 13px;
                    animation: rainbow 5s ease-in-out infinite;
                }
                .rainbow:after{
                    content: "";
                    position: absolute;
                    top: 70px;
                    left: 50%;
                    height: 15px;
                    width: 120px;
                    background: rgba(0, 0, 0, .5);
                    border-radius: 50%;
                    transform: translate(-50%, -50%);
                    animation: cloudy_shadow 5s ease-in-out infinite;
                }
                @keyframes rainbow {
                    50% {
                        transform: translate(-50%, -55%) rotate(30deg);
                    }
                    100% {
                        transform: translate(-50%, -50%) rotate(45deg);
                    }
                }
                @keyframes cloudy_shadow {
                    50% {
                        transform: translate(-50%, -50%) scale(0.8);
                        background: rgba(0, 0, 0, .2);
                    }
                    100% {
                        transform: translate(-50%, -50%) scale(1);
                        background: rgba(0, 0, 0, .5);
                    }
                }
    
            </style>
        </head>
        <body>
            彩虹
            <div class="rainbow-container ">
                <div class="rainbow"></div>
            </div>
        </body>
    </html>
    View Code

    17.夜空    (动态) 

    主要是利用 box-shadow 实现 

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*starry*/
                .starry-container{
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    width:200px;
                    height:260px;
                    transform: translate(-50%, -50%);
                    background:#222233;
                    border-radius:5px;
                }
                .starry{
                    position:absolute;
                    top: 30%;left: 40%;
                    transform: translate(-50%, -50%);
                    height: 4px;width: 4px;
                    border-radius:50%;
                    box-shadow:
                            #FFFFFF -26px 77px 0 -1px,
                            rgba(255,255,255,0.1) -36px 59px 0 -1px,
                            rgba(255,255,255,0.1) -28px 89px 0 -1px,
                            #FFFFFF -35px 20px 0 -1px,
                            #FFFFFF 14px 100px,
                            rgba(255,255,255,0.1) 41px 60px,
                            #FFFFFF 34px 39px,
                            rgba(255,255,255,0.1) 14px 45px 0 -1px,
                            #FFFFFF 64px 12px 0 -1px,
                            rgba(255,255,255,0.1) 32px 96px 0 -1px,
                            #FFFFFF 64px 71px,
                            rgba(255,255,255,0.1) 60px 18px 0 -1px,
                            #FFFFFF 34px 9px,
                            rgba(255,255,255,0.1) -26px 55px 0 -1px;
                    animation: starry_star 5s ease-in-out infinite;
                }
                .starry:before{
                    content:"";
                    position:absolute;
                    top: 20%;left: 50%;
                    width:100px;height:100px;
                    box-shadow: #FFFFFF -25px 0;
                    transform: rotate(-5deg);
                    border-radius: 50%;
                    animation: starry 5s ease-in-out infinite;
                }
                @keyframes starry {
                    50% {
                        transform: rotate(10deg);
                    }
                }
                @keyframes starry_star{
                    50%{
                        box-shadow:
                                rgba(255,255,255,0.1) -26px 77px 0 -1px,
                                #FFF -36px 59px 0 -1px,
                                #FFF -28px 89px 0 -1px,
                                rgba(255,255,255,0.1) -35px 20px 0 -1px,
                                rgba(255,255,255,0.1) 14px 100px,
                                #FFF 41px 60px,
                                rgba(255,255,255,0.1) 34px 39px,
                                #FFF 14px 45px 0 -1px,
                                rgba(255,255,255,0.1) 64px 12px 0 -1px,
                                #FFF 32px 96px 0 -1px,
                                rgba(255,255,255,0.1) 64px 71px,
                                #FFF 60px 18px 0 -1px,
                                rgba(255,255,255,0.1) 34px 9px,
                                #FFF -26px 55px 0 -1px;
                    }
                }
    
            </style>
        </head>
        <body>
            夜空
            <div class="starry-container ">
                <div class="starry"></div>
            </div>
        </body>
    </html>
    View Code

    18.雷电    (动态)   

    主要是利用阴影、border实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*thunder*/
                .thunder-container {
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    width: 200px;
                    height: 260px;
                    transform: translate(-50%, -50%);
                    background: #444;
                    border-radius: 5px;
                }
                .thunder {
                    color: #333;
                    position: absolute;
                    height: 50px;
                    width: 50px;
                    top: 40%;
                    left: 30%;
                    background: #222;
                    transform: translate(-50%, -50%);
                    border-radius: 50%;
                    box-shadow:
                            #222 65px -15px 0 -5px,
                            #222 25px -25px,
                            #222 30px 10px,
                            #222 60px 15px 0 -10px,
                            #222 85px 5px 0 -5px;
                    animation: cloudy 5s ease-in-out infinite;
                }
                .thunder:before {
                    content: "";
                    position: absolute;
                    top: 60px;
                    left: 60px;
                    border-left: 0px solid transparent;
                    border-right: 8px solid transparent;
                    border-top: 38px solid yellow;
                    box-shadow: yellow -7px -32px;
                    transform:rotate(30deg);
                    transform-origin:center -50px;
                    animation:stormy_thunder 2s steps(1, end) infinite;;
                }
                .thunder:after {
                    content: "";
                    position: absolute;
                    top: 120px;
                    left: 64px;
                    height: 15px;
                    width: 120px;
                    background: rgba(0, 0, 0, .5);
                    border-radius: 50%;
                    z-index:-1;
                    transform: translate(-50%, -50%);
                    animation: cloudy_shadow 5s ease-in-out infinite;
                }
                @keyframes cloudy {
                    50% {
                        transform: translate(-50%, -30px);
                    }
                }
                @keyframes cloudy_shadow {
                    50% {
                        transform: translate(-50%, 0) scale(0.8);
                        background: rgba(0, 0, 0, .2);
                    }
                }
                @keyframes stormy_thunder{
                    0%  {  transform: rotate(30deg); opacity:1; }
                    5%  {  transform: rotate(-34deg); opacity:1; }
                    10% {  transform: rotate(0deg); opacity:1; }
                    15% {  transform: rotate(-34deg); opacity:0; }
                }
    
            </style>
        </head>
        <body>
            雷电
            <div class="thunder-container ">
                <div class="thunder"></div>
            </div>
        </body>
    </html>
    View Code

    19.大雪      (动态) 

    利用阴影实现 

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*snow*/
                .snowy-container {
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    width: 200px;
                    height: 260px;
                    transform: translate(-50%, -50%);
                    text-align: center;
                    font-size: 200%;
                    color: #fff;
                    background: #607D8B;
                    border-radius: 5px;
                }
                .snowy {
                    position: absolute;
                    width: 4px;
                    height: 4px;
                    border-radius:50%;
                    top: 30%;
                    left: 50%;
                    background: #fff;
                    border-radius: 50%;
                    animation: snowy_rain 2s infinite linear;
                }
                .snowy:before {
                    content: "";
                    color: #333;
                    position: absolute;
                    height: 50px;
                    width: 50px;
                    top: 30px;
                    left: -40px;
                    background: #eee;
                    transform: translate(-50%, -50%);
                    border-radius: 50%;
                    box-shadow:
                            #eee 65px -15px 0 -5px,
                            #eee 25px -25px,
                            #eee 30px 10px,
                            #eee 60px 15px 0 -10px,
                            #eee 85px 5px 0 -5px;
                    animation: cloudy 5s ease-in-out infinite;
                }
                .snowy:after {
                    content: "";
                    position: absolute;
                    top: 120px;
                    left: 50%;
                    height: 15px;
                    width: 120px;
                    background: rgba(0, 0, 0, .5);
                    border-radius: 50%;
                    transform: translate(-50%, -50%);
                    animation: cloudy_shadow 5s ease-in-out infinite;
                }
                @keyframes cloudy {
                    50% {
                        transform: translate(-50%, -70%);
                    }
                    100% {
                        transform: translate(-50%, -50%);
                    }
                }
                @keyframes cloudy_shadow {
                    50% {
                        transform: translate(-50%, -50%) scale(0.8);
                        background: rgba(0, 0, 0, .2);
                    }
                    100% {
                        transform: translate(-50%, -50%) scale(1);
                        background: rgba(0, 0, 0, .5);
                    }
                }
                @keyframes snowy_rain {
                    0% {
                        box-shadow:
                                rgba(255, 255, 255, 0) -10px 30px,
                                rgba(255, 255, 255, 0) 40px 40px,
                                rgba(255, 255, 255, .6) -50px 75px,
                                rgba(255, 255, 255, .6) 55px 50px,
                                rgba(255, 255, 255, .6) -18px 100px,
                                rgba(255, 255, 255, .6) 12px 95px,
                                rgba(255, 255, 255, .6) -31px 45px,
                                rgba(255, 255, 255, .6) 30px 35px;
                    }
                    25% {
                        box-shadow:
                                rgba(255, 255, 255, .6) -10px 45px,
                                rgba(255, 255, 255, .6) 40px 60px,
                                rgba(255, 255, 255, .6) -50px 90px,
                                rgba(255, 255, 255, .6) 55px 65px,
                                rgba(255, 255, 255, 0) -18px 120px,
                                rgba(255, 255, 255, 0) 12px 120px,
                                rgba(255, 255, 255, .6) -31px 70px,
                                rgba(255, 255, 255, .6) 30px 60px;
                    }
                    26% {
                        box-shadow:
                                rgba(255, 255, 255, .6) -10px 45px,
                                rgba(255, 255, 255, .6) 40px 60px,
                                rgba(255, 255, 255, .6) -50px 90px,
                                rgba(255, 255, 255, .6) 55px 65px,
                                rgba(255, 255, 255, 0) -18px 40px,
                                rgba(255, 255, 255, 0) 12px 20px,
                                rgba(255, 255, 255, .6) -31px 70px,
                                rgba(255, 255, 255, .6) 30px 60px;
                    }
                    50% {
                        box-shadow:
                                rgba(255, 255, 255, .6) -10px 70px,
                                rgba(255, 255, 255, .6) 40px 80px,
                                rgba(255, 255, 255, 0) -50px 100px,
                                rgba(255, 255, 255, .6) 55px 80px,
                                rgba(255, 255, 255, .6) -18px 60px,
                                rgba(255, 255, 255, .6) 12px 45px,
                                rgba(255, 255, 255, .6) -31px 95px,
                                rgba(255, 255, 255, .6) 30px 85px;
                    }
                    51% {
                        box-shadow:
                                rgba(255, 255, 255, .6) -10px 70px,
                                rgba(255, 255, 255, .6) 40px 80px,
                                rgba(255, 255, 255, 0) -50px 45px,
                                rgba(255, 255, 255, .6) 55px 80px,
                                rgba(255, 255, 255, .6) -18px 60px,
                                rgba(255, 255, 255, .6) 12px 45px,
                                rgba(255, 255, 255, .6) -31px 95px,
                                rgba(255, 255, 255, .6) 30px 85px;
                    }
                    75% {
                        box-shadow:
                                rgba(255, 255, 255, .6) -10px 95px,
                                rgba(255, 255, 255, .6) 40px 100px,
                                rgba(255, 255, 255, .6) -50px 60px,
                                rgba(255, 255, 255, 0) 55px 95px,
                                rgba(255, 255, 255, .6) -18px 80px,
                                rgba(255, 255, 255, .6) 12px 70px,
                                rgba(255, 255, 255, 0) -31px 120px,
                                rgba(255, 255, 255, 0) 30px 110px;
                    }
                    76% {
                        box-shadow:
                                rgba(255, 255, 255, .6) -10px 95px,
                                rgba(255, 255, 255, .6) 40px 100px,
                                rgba(255, 255, 255, .6) -50px 60px,
                                rgba(255, 255, 255, 0) 55px 35px,
                                rgba(255, 255, 255, .6) -18px 80px,
                                rgba(255, 255, 255, .6) 12px 70px,
                                rgba(255, 255, 255, 0) -31px 25px,
                                rgba(255, 255, 255, 0) 30px 15px;
                    }
                    100% {
                        box-shadow:
                                rgba(255, 255, 255, 0) -10px 120px,
                                rgba(255, 255, 255, 0) 40px 120px,
                                rgba(255, 255, 255, .6) -50px 75px,
                                rgba(255, 255, 255, .6) 55px 50px,
                                rgba(255, 255, 255, .6) -18px 100px,
                                rgba(255, 255, 255, .6) 12px 95px,
                                rgba(255, 255, 255, .6) -31px 45px,
                                rgba(255, 255, 255, .6) 30px 35px;
                    }
    
            </style>
        </head>
        <body>
            大雪
            <div class="snowy-container ">
                <div class="snowy"></div>
            </div>
        </body>
    </html>
    View Code

    20.五角星   

    主要是利用border、transparent、旋转实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*star*/
                .five-star{
                    position: absolute;
                    top: 35%;
                    right: 50%;
                    transform: translate(-50%, -50%) scale(8);
                    width: 0;
                    height: 0;
                    display: block;
                    border-left: 3.04px solid transparent;
                    border-right: 3.24px solid transparent;
                    border-bottom: 10px solid #98DBE3;
                    -webkit-filter: drop-shadow(1px .5px 1px #ccc);
                    cursor: pointer;
                }
                .five-star:before{
                    content: "";
                    position: absolute;
                    top: 8.65px;
                    left: -8.82px;
                    width: 0;
                    height: 0;
                    color: #98DBE3;
                    display: block;
                    border-left: 12.5px solid transparent;
                    border-right: 12.5px solid transparent;
                    border-bottom: 9.08px solid #98DBE3;
                    transform-origin: top center;
                    transform: rotate(36deg);
                }
                .five-star:after{
                    content: "";
                    position: absolute;
                    top: 8.65px;
                    left: -15px;
                    width: 0;
                    height: 0;
                    color: #98DBE3;
                    display: block;
                    border-left: 12.5px solid transparent;
                    border-right: 12.5px solid transparent;
                    border-bottom: 9.08px solid #98DBE3;
                    transform-origin: top center;
                    transform: rotate(-36deg);
                }
    
            </style>
        </head>
        <body>
            五角星
            <div class="five-star ">
            </div>
        </body>
    </html>
    View Code

    21.太极八卦 

    利用 box-shadow 实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
            /*TaiChi*/
            .TaiChi{
                position: absolute;
                top: 50%;
                left: 50%;
                width: 200px;
                height: 200px;
                transform: translate(-50%, -50%);
                box-shadow:0 0 2px #ddd;
                border-radius:50%;
                background-image:
                        radial-gradient(#000 12.5px, transparent 12.5px),
                        radial-gradient(#fff 12.5px, transparent 12.5px),
                        radial-gradient(#fff 50px, transparent 50px),
                        radial-gradient(#000 50px, transparent 50px),
                        linear-gradient(90deg,#000 100px, #fff 100px);
                background-position:center 50px,center -50px,center 50px,center -50px,0 0;
            }
    
            </style>
        </head>
        <body>
            太极八卦
            <div class="TaiChi">
            </div>
        </body>
    </html>
    View Code

    22.美队盾牌   

    利用 渐变 实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*captainAmerica*/
                .captainAmerica{
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    width: 200px;
                    height: 200px;
                    transform: translate(-50%, -50%);
                    background:
                            linear-gradient(45deg, rgba(255,255,255,0) 35%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0) 65%),
                            linear-gradient(-45deg, rgba(255,255,255,0) 35%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0) 65%),
                            linear-gradient(to right, rgba(0,0,0,0) 35%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0) 65%),
                            linear-gradient(to bottom, rgba(0,0,0,0) 35%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0) 65%),
                            radial-gradient(ellipse at center, #0033b0 20%, #ce0021 20%, #ce0021 35%, #eee 35%, #eee 55%, #ce0021 55%);
                    border-radius: 50%;
                    box-shadow: 0 3px 0 #a20917,0 4px 2px 2px #eee;
                }
                .captainAmerica::before{
                    content: '★';
                    position:absolute;
                    top: 50%;left: 50%;
                    transform: translate(-50%, -50%);
                    margin-left:-3px;
                    width: 50px;height:50px;
                    font-family: simsun,Tahoma,Helvetica,Arial,SimHei,sans-serif;
                    line-height: 47px;
                    z-index: 1;
                    border-radius: 50%;
                    font-size: 55px;
                    color: #fff;
                    text-align:center;
                    text-shadow: 2px 1px 2px #777;
                }
    
            </style>
        </head>
        <body>
            美国盾牌
            <div class="captainAmerica">
            </div>
        </body>
    </html>
    View Code

    23.纽扣   

     

    利用 渐变、阴影 实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*button*/
                .button{
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    transform: translate(-50%, -50%);
                    width: 180px;
                    height: 180px;
                    background: #87ceeb;
                    border-radius: 50%;
                    box-shadow:
                            inset 0 5px 5px #87ceeb,
                            inset 0 17px 5px rgba(255,255,255,0.7),
                            inset 0 -3px 3px rgba(255,255,255,0.3),
                            inset 0 -10px 10px rgba(0,0,0,0.3),
                            inset 0 -15px 10px #45b3e0,
                            0 7px 10px rgba(0,0,0,0.3);
                }
                .button::before{
                    content: '';
                    position:absolute;
                    top: 50%;left: 50%;
                    width: 110px;height: 106px;
                    margin-left: -55px;margin-top: -55px;
                    background-image:
                            radial-gradient(circle at 38px 38px, #333 10px, transparent 10px),
                            radial-gradient(circle at 73px 73px, #333 10px, transparent 10px),
                            radial-gradient(circle at 38px 73px, #333 10px, transparent 10px),
                            radial-gradient(circle at 73px 38px, #333 10px, transparent 10px);
                    border-radius: 50%;
                    border-top: 1px solid rgba(0,0,0,0.6);
                    border-bottom: 1px solid rgba(255,255,255,0.6);
                    box-shadow:
                            inset 0 20px 2px rgba(255,255,255,0.3),
                            3px -15px 7px -4px rgba(0,0,0,0.3),
                            0 -14px 10px 5px #45b3e0,
                            0 2px 5px 5px #87ceeb,
                            0 10px 5px 5px rgba(255,255,255,0.6);
                }
                .button::after{
                    content: '';
                    position:absolute;
                    top: 50%;left: 50%;
                    width: 50px;height: 50px;
                    margin-left: -25px;
                    margin-top: -23px;
                    background-image:
                            linear-gradient(to right, transparent 35%, #000080 35%, #4682b4 40%, #000080 45%, #4682b4 50%, #000080 55%, #4682b4 60%, #000080 65%, transparent 65%),
                            linear-gradient(to bottom, transparent 35%, #000080 35%, #4682b4 40%, #000080 45%, #4682b4 50%, #000080 55%, #4682b4 60%, #000080 65%, transparent 65%);
                    border-radius: 50%;
                    transform: rotate(45deg);
                }
            </style>
        </head>
        <body>
            纽扣
            <div class="button">
            </div>
        </body>
    </html>
    View Code

    24.Chrome   

    利用渐变实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*chrome*/
                .Chrome{
                    position: absolute;
                    top: 50%;left: 50%;
                    width: 180px;height: 180px;
                    transform: translate(-50%, -50%);
                    box-shadow:0 0px 4px #999,0 0 2px #ddd inset;
                    border-radius:50%;
                    background-image:
                            radial-gradient(#4FACF5 0%,#2196F3 28%, transparent 28%),
                            radial-gradient(#fff 33%, transparent 33%),
                            linear-gradient(-50deg,#FFEB3B 34%, transparent 34%),
                            linear-gradient(60deg,#4CAF50 33%, transparent 33%),
                            linear-gradient(180deg,#FF756B 0%, #F44336 30%, transparent 30%),
                            linear-gradient(-120deg,#FFEB3B 40%, transparent 40%),
                            linear-gradient(-60deg,#FFEB3B 30%, transparent 30%),
                            linear-gradient(0deg,#4CAF50 45%, transparent 45%),
                            linear-gradient(60deg,#4CAF50 30%, transparent 30%),
                            linear-gradient(120deg,#F44336 50%, transparent 50%),
                            linear-gradient(180deg,#F44336 30%, transparent 30%);
                    background-position:0 0;
                }
    
            </style>
        </head>
        <body>
            Chrome
            <div class="Chrome">
            </div>
        </body>
    </html>
    View Code

    25.Opera 

    利用渐变实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*Opera*/
                .Opera{
                    position: absolute;
                    top: 50%;left: 50%;
                    width: 170px;height: 200px;
                    transform: translate(-50%, -50%);
                    border-radius:50%;
                    box-shadow:0 2px 4px #333;
                    background-image:
                            linear-gradient(rgb(254, 135, 138) 0%, rgb(231, 22, 22) 50%, rgb(128, 0, 0) 85%, rgb(184, 3, 4) 100%);
                }
                .Opera:after{
                    content:"";
                    position: absolute;
                    top:50%;left:50%;
                    width: 60px;height: 180px;
                    transform: translate(-50%, -50%);
                    border-radius:50%;
                    background:#fff;
                }
                .Opera:before{
                    content:"";
                    position: absolute;
                    top:50%;left:50%;
                    width: 72px;height: 185px;
                    transform: translate(-50%, -50%);
                    border-radius:50%;
                    background:rgba(0,0,0,.4);
                }
            </style>
        </head>
        <body>
            Opera
            <div class="Opera">
            </div>
        </body>
    </html>
    View Code

    26.IE 

    利用渐变、多重阴影实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*IE*/
                .IE{
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    width:200px;
                    height:200px;
                    transform: translate(-50%, -50%);
                    border-radius:50%;
                    background-image:
                            radial-gradient(#fff 38%, transparent 38%),
                            radial-gradient(#09C 0%, #09C 100%);
                
                }
                .IE:before{
                    content: "";
                    width:285px;
                    height:122px;
                    background:none;
                    border-radius:100%;
                    position:absolute;
                    top:33px;
                    left:-45px;
                    margin:auto;
                    box-shadow:
                            inset 0 12px 0 13px  #09c,
                            -35px -8px 0 -5px #fff;
                    transform: rotate(-35deg);
                }
                .IE:after {
                    content: "";
                    width: 120px;
                    height: 25px;
                    background: #09c;
                    position: absolute;
                    top: 80px;
                    left: 0;
                    right: 0;
                    margin: auto;
                    box-shadow: 50px 23px 0 -2px #fff
                }
            </style>
        </head>
        <body>
            IE
            <div class="IE">
            </div>
        </body>
    </html>
    View Code

    27.safari   

    利用渐变、border、旋转实现 

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*safari*/
                .safari{
                    position: absolute;
                    top: 50%;left: 50%;
                    width:200px; height:200px;
                    transform: translate(-50%, -50%);
                    border-radius:50%;
                    border:5px solid #E8E8E8;
                    box-shadow:
                            -1px 3px 1px 2px #999,
                            -1px 3px 1px 2px #999 inset;
                    background-image:
                            radial-gradient(transparent 30%,#fff 30%,#fff 34%, transparent 34%),
                            linear-gradient(rgba(255,255,255,.8) 100%, transparent 100%),
                            linear-gradient(rgba(255,255,255,.8) 100%, transparent 100%),
                            linear-gradient(rgba(255,255,255,.8) 100%, transparent 100%),
                            linear-gradient(rgba(255,255,255,.8) 100%, transparent 100%),
                            linear-gradient(#1DE3FF 0%, #1F52EF 100%);
                    background-size: 50% 50%,20px 2px,20px 2px,2px 20px,2px 20px,100%,100%;
                    background-repeat:no-repeat;
                    background-position:center center, 175px center,5px center,center 175px,center 5px,0 0;
                
                }
                .safari::before{
                    content:"";
                    position: absolute;
                    top: 10px;left: 50%;
                    border-radius:10px;
                    border-bottom:100px solid rgba(255,255,255,.9);
                    border-left:10px solid transparent;
                    border-right:10px solid transparent;
                    transform-origin:center 90px;
                    z-index:-1;
                    transform:translate(-50%, 0%) rotate(40deg);
                }
                .safari::after{
                    content:"";
                    position: absolute;
                    top: 10px;left: 50%;
                    border-radius:10px;
                    border-bottom:100px solid rgba(255,0,0,.9);
                    border-left:10px solid transparent;
                    border-right:10px solid transparent;
                    transform-origin:center 90px;
                    transform:translate(-50%, 0%) rotate(220deg);
                }
                .safari:hover::before{
                    transition:transform 1s;
                    transform:translate(-50%, 0%) rotate(70deg);
                }
                .safari:hover::after{
                    transition:transform 1s;
                    transform:translate(-50%, 0%) rotate(250deg);
                }
            </style>
        </head>
        <body>
            safari
            <div class="safari">
            </div>
        </body>
    </html>
    View Code

    28.firefox 

    利用多重阴影实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*firefox*/
                .firefox{
                    position: absolute;
                    top: 50%;left: 50%;
                    width: 200px;height:200px;
                    transform: translate(-50%, -50%);
                    border:8px solid #eee;
                    border-radius:50%;
                    overflow:hidden;
                    background:#F48D00;
                    box-shadow:0 0 2px 0 #999;
                }
                .firefox::before{
                    content: "";
                    width: 46px;
                    height: 46px;
                    background: #A4DFEF;
                    border-radius: 100%;
                    position: absolute;
                    top: 90px;
                    left: 50px;
                    margin: auto;
                    border: 1px solid #A4DFEF;
                    box-shadow:
                            -10px 0 0 5px rgba(164, 223, 239, .2),
                            16px -60px 0 8px rgba(164, 223, 239, .2),
                            -30px -50px 0 8px #F48D00,
                            25px -38px 0 0px #A4DFEF,
                            -30px -30px 0 12px #F48D00,
                            15px -60px 0 8px #A4DFEF,
                            33px 31px 0 -15px #A4DFEF,
                            30px 17px 0 -13px #F48D00,
                            20px -10px 0 0px #A4DFEF,
                            -8px -0px 0 19px #F48D00,
                            30px 17px 0 0px #A4DFEF,
                            24px 30px 0 15px #F48D00,
                            20px -6px 0 28px #A4DFEF,
                            45px 10px 0 35px #F48D00,
                            -5px -57px 0 8px #F48D00,
                            20px -23px 0 45px #A4DFEF,
                            -5px -80px 0 8px #A4DFEF,
                            -30px -70px 0 8px #F48D00,
                            -5px -57px 0 8px #F48D00,
                            43px -11px 0 55px #F48D00,
                            22px -39px 0 55px #A4DFEF;
                }
                .firefox::after{
                    content: "";
                    width: 0px;
                    height: 2px;
                    background: linear-gradient(90deg,#F48D00 75% ,#333 30% );
                    background-size: 35px 35px;
                    position: absolute;
                    top: 50px;
                    left: 73px;
                    margin: auto;
                    border: solid;
                    border-width: 12px 0 15px 30px;
                    border-color: #A4DFEF #fff #A4DFEF transparent;
                    box-shadow: inset 0px 0 0 50px #333;
                }
            </style>
        </head>
        <body>
            firefox
            <div class="firefox">
            </div>
        </body>
    </html>
    View Code

    29.搜狗  

    利用文字、阴影实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*sougou*/
                .sogou{
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    width: 200px;height:200px;
                    transform: translate(-50%, -50%);
                    border:8px solid #fff;
                    box-shadow: 2px 1px 2px 2px #ccc;
                    border-radius:50%;
                    overflow:hidden;
                    background:#4DA0ED;
                }
                .sogou::before{
                    content:"S";
                    position: absolute;
                    line-height: 185px;
                    top:0;
                    left:0;
                    right:0;
                    bottom:0;
                    color:#fff;
                    font-weight:600;
                    font-size:320px;
                    text-align:center;
                    text-shadow:
                            3px 0 0px #337FC4,
                            -5px 0px 0px #CDE4F0,
                            0px 8px 0px #387FBF;
                    transform:rotate(2deg);
                    z-index:-10;
                    overflow:hidden;
                }
            </style>
        </head>
        <body>
            搜狗
            <div class="sogou">
            </div>
        </body>
    </html>
    View Code

    30.利用滤镜实现混合

    利用 fliter:blur() 、filter:contrast() 实现

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
                /*filter-mix*/
                .filter-mix{
                    position: absolute;
                    top: 50%;left: 50%;
                    transform: translate(-50%, -50%);
                    width: 300px;height: 200px;
                    -webkit-filter:contrast(20);
                    background:#fff;
                }
                .filter-mix::before{
                    content:"";
                    position: absolute;
                    width:120px;
                    height:120px;
                    border-radius: 50%;
                    background:#333;
                    top:40px;
                    left:0px;
                    z-index:2;
                    -webkit-filter:blur(6px);
                    box-sizing:border-box;
                    animation:filterBallMove 10s ease-out infinite;
                    -webkit-animation:filterBallMove 10s ease-out infinite;
                }
                .filter-mix::after{
                    content:"";
                    position: absolute;
                    width:80px;
                    height:80px;
                    border-radius: 50%;
                    background:#3F51B5;
                    top:60px;
                    right:0px;
                    z-index:2;
                    -webkit-filter:blur(6px);
                    animation:filterBallMove2 10s ease-out infinite;
                    -webkit-animation:filterBallMove2 10s ease-out infinite;
                
                }
                
                @keyframes filterBallMove{
                    50%{
                        left:200px;
                    }
                }
                
                @-webkit-keyframes filterBallMove{
                    50%{
                        left:200px;
                    }
                }
                
                @keyframes filterBallMove2{
                    50%{
                        right:200px;
                    }
                }
                
                @-webkit-keyframes filterBallMove2{
                    50%{
                        right:200px;
                    }
                }
            </style>
        </head>
        <body>
            利用滤镜实现混合效果
            <div class="filter-mix">
            </div>
        </body>
    </html>
    View Code

    参考地址:https://juejin.im/post/5a446d19f265da43052eebcc

  • 相关阅读:
    C++ | 继承(基类,父类,超类),(派生类,子类)
    C++ std::pair的用法
    派生类构造函数和多重继承的二义性问题
    C++vector and opencv Mat
    C++中union的使用方法
    C++中数组作为形参的方法
    在Python中使用OpenCV(CV2)对图像进行边缘检测
    你可能会用到的一些小程序效果、工具
    AI口算批改、练习小程序
    拍照搜题小程序
  • 原文地址:https://www.cnblogs.com/Han39/p/8178178.html
Copyright © 2011-2022 走看看