zoukankan      html  css  js  c++  java
  • CSS实现图形效果

    CSS实现图形效果

    CSS实现正方形、长方形、圆形、半圆、椭圆、三角形、平行四边形、菱形、梯形、六角星、五角星、心形、消息框。

    正方形

    <section>
        <div id="square"></div>
    </section>
    <style type="text/css">
        #square{
             100px;
            height: 100px;
            background: #4C98F7;
        }
    </style>
    

    长方形

    <section>
        <div id="rectangle"></div>
    </section>
    <style type="text/css">
        #rectangle{
             200px;
            height: 100px;
            background: #4C98F7;
        }
    </style>
    

    圆形

    <section>
        <div id="circle"></div>
    </section>
    <style type="text/css">
        #circle{
             100px;
            height: 100px;
            background: #4C98F7;
            border-radius: 50%;
        }
    </style>
    

    半圆

    <section>
        <div id="semicircle"></div>
    </section>
    <style type="text/css">
        #semicircle{
             100px;
            height: 50px;
            background: #4C98F7;
            border-radius: 100px 100px 0 0;
        }
    </style>
    

    椭圆

    <section>
        <div id="oval"></div>
    </section>
    <style type="text/css">
        #oval{
             100px;
            height: 50px;
            background: #4C98F7;
            border-radius: 100px / 50px;
        }
    </style>
    

    三角形

    <section>
        <div id="regular-triangle"></div>
    </section>
    <style type="text/css">
        #regular-triangle{
             0;
            height: 0;
            border-left: 50px solid transparent;
            border-right: 50px solid transparent;
            border-bottom: 100px solid #4C98F7;
        }
    </style>
    
    <section>
        <div id="corner-triangle"></div>
    </section>
    <style type="text/css">
        #corner-triangle{
             0;
            height: 0;
            border-top: 100px solid #4C98F7;
            border-right: 100px solid transparent;
        }
    </style>
    

    平行四边形

    <section>
        <div id="parallelogram"></div>
    </section>
    <style type="text/css">
        #parallelogram{
            margin: 0 15px;
             200px; 
            height: 100px; 
            transform: skew(-20deg); 
            background: #4C98F7;
        }
    </style>
    

    菱形

    <section>
        <div id="diamond"></div>
    </section>
    <style type="text/css">
        #diamond {
             0;
            height: 0;
            border: 100px solid transparent;
            border-bottom-color: #4C98F7;
            position: relative;
            top: -100px;
        }
        #diamond:after {
            content: "";
            position: absolute;
            left: -100px;
            top: 100px;
             0;
            height: 0;
            border: 100px solid transparent;
            border-top-color: #4C98F7;
        }
    </style>
    

    六角星

    <section>
        <div id="hexagons"></div>
    </section>
    <style type="text/css">
        #hexagons {
             0;
            height: 0;
            border: 100px solid transparent;
            border-bottom-color: #4C98F7;
            position: relative;
            top: -100px;
        }
        #diamond:after {
            content: "";
            position: absolute;
            left: -100px;
            top: 100px;
             0;
            height: 0;
            border: 100px solid transparent;
            border-top-color: #4C98F7;
        }
    </style>
    

    五角星

    <section>
        <div id="five-pointed-star"></div>
    </section>
    <style type="text/css">
        #five-pointed-star { 
            margin: 100px 0 50px 0; 
            position: relative;
             0px; 
            height: 0px; 
            border-right: 100px solid transparent; 
            border-bottom: 70px solid #4C98F7; 
            border-left: 100px solid transparent; 
            transform: rotate(35deg); 
        }
         #five-pointed-star:before { 
            content: ""; 
            position: absolute; 
            height: 0; 
             0; 
            top: -45px; 
            left: -65px; 
            border-bottom: 80px solid #4C98F7; 
            border-left: 30px solid transparent; 
            border-right: 30px solid transparent; 
            transform: rotate(-35deg); 
        } 
        #five-pointed-star:after { 
            content: ""; 
            position: absolute; 
            top: 3px; 
            left: -105px; 
             0px; 
            height: 0px; 
            border-right: 100px solid transparent; 
            border-bottom: 70px solid #4C98F7; 
            border-left: 100px solid transparent; 
            transform: rotate(-70deg); 
        }
    </style>
    

    心形

    <section>
        <div id="five-pointed-star"></div>
    </section>
    <style type="text/css">
        #five-pointed-star { 
            margin: 100px 0 50px 0; 
            position: relative;
             0px; 
            height: 0px; 
            border-right: 100px solid transparent; 
            border-bottom: 70px solid #4C98F7; 
            border-left: 100px solid transparent; 
            transform: rotate(35deg); 
        }
         #five-pointed-star:before { 
            content: ""; 
            position: absolute; 
            height: 0; 
             0; 
            top: -45px; 
            left: -65px; 
            border-bottom: 80px solid #4C98F7; 
            border-left: 30px solid transparent; 
            border-right: 30px solid transparent; 
            transform: rotate(-35deg); 
        } 
        #five-pointed-star:after { 
            content: ""; 
            position: absolute; 
            top: 3px; 
            left: -105px; 
             0px; 
            height: 0px; 
            border-right: 100px solid transparent; 
            border-bottom: 70px solid #4C98F7; 
            border-left: 100px solid transparent; 
            transform: rotate(-70deg); 
        }
    </style>
    

    消息框

    <section>
        <div id="message-box"></div>
    </section>
    <style type="text/css">
        #message-box { 
            margin: 0 20px;
             120px; 
            height: 80px; 
            background: #4C98F7; 
            position: relative; 
            border-radius: 10px; 
        } 
        #message-box:before { 
            content:"";
            position: absolute; 
            right: 100%; 
            top: 26px; 
             0; 
            height: 0; 
            border-top: 13px solid transparent; 
            border-right: 26px solid #4C98F7; 
            border-bottom: 13px solid transparent; 
        }
    </style>
    

    示例

    <!DOCTYPE html>
    <html>
    <head>
        <title>CSS实现图形效果</title>
        <style type="text/css">
            section{
                margin: 10px 0;
            }
    
            #square{
                 100px;
                height: 100px;
                background: #4C98F7;
            }
    
            #rectangle{
                 200px;
                height: 100px;
                background: #4C98F7;
            }
    
            #circle{
                 100px;
                height: 100px;
                background: #4C98F7;
                border-radius: 50%;
            }
    
            #semicircle{
                 100px;
                height: 50px;
                background: #4C98F7;
                border-radius: 100px 100px 0 0;
            }
    
            #semicircle{
                 100px;
                height: 50px;
                background: #4C98F7;
                border-radius: 100px 100px 0 0;
            }
    
            #oval{
                 100px;
                height: 50px;
                background: #4C98F7;
                border-radius: 100px / 50px;
            }
    
            #regular-triangle{
                 0;
                height: 0;
                border-left: 50px solid transparent;
                border-right: 50px solid transparent;
                border-bottom: 100px solid #4C98F7;
            }
    
            #corner-triangle{
                 0;
                height: 0;
                border-top: 100px solid #4C98F7;
                border-right: 100px solid transparent;
            }
    
            #parallelogram{
                margin: 0 15px;
                 200px; 
                height: 100px; 
                transform: skew(-20deg); 
                background: #4C98F7;
            }
    
            #diamond {
                 0;
                height: 0;
                border: 100px solid transparent;
                border-bottom-color: #4C98F7;
                position: relative;
                top: -100px;
            }
            #diamond:after {
                content: "";
                position: absolute;
                left: -100px;
                top: 100px;
                 0;
                height: 0;
                border: 100px solid transparent;
                border-top-color: #4C98F7;
            }
    
            #hexagons{ 
                margin: 35px 0;
                 0; 
                height: 0; 
                border-left: 60px solid transparent; 
                border-right: 60px solid transparent; 
                border-bottom: 60px solid #4C98F7; 
                position: relative; 
            } 
            #hexagons:after { 
                 0; 
                height: 0; 
                border-left: 60px solid transparent; 
                border-right: 60px solid transparent; 
                border-top: 60px solid #4C98F7; 
                position: absolute; 
                content: ""; 
                top: 20px; 
                left: -60px; 
            }
    
            #five-pointed-star { 
                margin: 100px 0 70px 0; 
                position: relative;
                 0px; 
                height: 0px; 
                border-right: 100px solid transparent; 
                border-bottom: 70px solid #4C98F7; 
                border-left: 100px solid transparent; 
                transform: rotate(35deg); 
            }
             #five-pointed-star:before { 
                content: ""; 
                position: absolute; 
                height: 0; 
                 0; 
                top: -45px; 
                left: -65px; 
                border-bottom: 80px solid #4C98F7; 
                border-left: 30px solid transparent; 
                border-right: 30px solid transparent; 
                transform: rotate(-35deg); 
            } 
            #five-pointed-star:after { 
                content: ""; 
                position: absolute; 
                top: 3px; 
                left: -105px; 
                 0px; 
                height: 0px; 
                border-right: 100px solid transparent; 
                border-bottom: 70px solid #4C98F7; 
                border-left: 100px solid transparent; 
                transform: rotate(-70deg); 
            }
    
            #heart-shaped {
                position: relative;
                 100px;
                height: 90px;
            }
            #heart-shaped:before,
            #heart-shaped:after {
                content: "";
                position: absolute;
                left: 50px;
                top: 0;
                 50px;
                height: 80px;
                background: #4C98F7;
                border-radius: 50px 50px 0 0;
                transform: rotate(-45deg);
                transform-origin: 0 100%;
            }
            #heart-shaped:after {
                left: 0;
                transform: rotate(45deg);
                transform-origin: 100% 100%;
            }
    
            #message-box { 
                margin: 0 20px;
                 120px; 
                height: 80px; 
                background: #4C98F7; 
                position: relative; 
                border-radius: 10px; 
            } 
            #message-box:before { 
                content:"";
                position: absolute; 
                right: 100%; 
                top: 26px; 
                 0; 
                height: 0; 
                border-top: 13px solid transparent; 
                border-right: 26px solid #4C98F7; 
                border-bottom: 13px solid transparent; 
            }
        </style>
    </head>
    <body>
        <section>
            <div id="square"></div>
        </section>
        <section>
            <div id="rectangle"></div>
        </section>
        <section>
            <div id="circle"></div>
        </section>
        <section>
            <div id="semicircle"></div>
        </section>
        <section>
            <div id="oval"></div>
        </section>
        <section>
            <div id="regular-triangle"></div>
        </section>
        <section>
            <div id="corner-triangle"></div>
        </section>
        <section>
            <div id="parallelogram"></div>
        </section>
        <section>
            <div id="diamond"></div>
        </section>
        <section>
            <div id="hexagons"></div>
        </section>
        <section>
            <div id="five-pointed-star"></div>
        </section>
        <section>
            <div id="heart-shaped"></div>
        </section>
        <section>
            <div id="message-box"></div>
        </section>
    </body>
    </html>
    

    每日一题

    https://github.com/WindrunnerMax/EveryDay
    

    参考

    https://www.jianshu.com/p/f40617d863a3
    https://css-tricks.com/the-shapes-of-css/
    https://www.w3cplus.com/css/create-shapes-with-css
    
  • 相关阅读:
    hdoj 2544 最短路径
    树状数组 hdoj1166
    并查集学习
    1402大数相乘 FFT算法学习!
    hdu1014
    动态规划 简单题dp
    迷宫路径
    简单的动态规划dp
    poj 3282 (bFS)
    背包问题,看不懂,啊!!!!!!!!dp
  • 原文地址:https://www.cnblogs.com/WindrunnerMax/p/13589040.html
Copyright © 2011-2022 走看看