前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CSS实现图形效果

CSS实现图形效果

作者头像
WindrunnerMax
发布2020-09-01 10:39:42
2.3K0
发布2020-09-01 10:39:42
举报
文章被收录于专栏:Czy‘s Blog

CSS实现图形效果

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

正方形

代码语言:javascript
复制
<section>
    <div id="square"></div>
</section>
<style type="text/css">
    #square{
        width: 100px;
        height: 100px;
        background: #4C98F7;
    }
</style>

长方形

代码语言:javascript
复制
<section>
    <div id="rectangle"></div>
</section>
<style type="text/css">
    #rectangle{
        width: 200px;
        height: 100px;
        background: #4C98F7;
    }
</style>

圆形

代码语言:javascript
复制
<section>
    <div id="circle"></div>
</section>
<style type="text/css">
    #circle{
        width: 100px;
        height: 100px;
        background: #4C98F7;
        border-radius: 50%;
    }
</style>

半圆

代码语言:javascript
复制
<section>
    <div id="semicircle"></div>
</section>
<style type="text/css">
    #semicircle{
        width: 100px;
        height: 50px;
        background: #4C98F7;
        border-radius: 100px 100px 0 0;
    }
</style>

椭圆

代码语言:javascript
复制
<section>
    <div id="oval"></div>
</section>
<style type="text/css">
    #oval{
        width: 100px;
        height: 50px;
        background: #4C98F7;
        border-radius: 100px / 50px;
    }
</style>

三角形

代码语言:javascript
复制
<section>
    <div id="regular-triangle"></div>
</section>
<style type="text/css">
    #regular-triangle{
        width: 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{
        width: 0;
        height: 0;
        border-top: 100px solid #4C98F7;
        border-right: 100px solid transparent;
    }
</style>

平行四边形

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

菱形

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

六角星

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

五角星

代码语言:javascript
复制
<section>
    <div id="five-pointed-star"></div>
</section>
<style type="text/css">
    #five-pointed-star { 
        margin: 100px 0 50px 0; 
        position: relative;
        width: 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; 
        width: 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; 
        width: 0px; 
        height: 0px; 
        border-right: 100px solid transparent; 
        border-bottom: 70px solid #4C98F7; 
        border-left: 100px solid transparent; 
        transform: rotate(-70deg); 
    }
</style>

心形

代码语言:javascript
复制
<section>
    <div id="five-pointed-star"></div>
</section>
<style type="text/css">
    #five-pointed-star { 
        margin: 100px 0 50px 0; 
        position: relative;
        width: 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; 
        width: 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; 
        width: 0px; 
        height: 0px; 
        border-right: 100px solid transparent; 
        border-bottom: 70px solid #4C98F7; 
        border-left: 100px solid transparent; 
        transform: rotate(-70deg); 
    }
</style>

消息框

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

示例

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
    <title>CSS实现图形效果</title>
    <style type="text/css">
        section{
            margin: 10px 0;
        }

        #square{
            width: 100px;
            height: 100px;
            background: #4C98F7;
        }

        #rectangle{
            width: 200px;
            height: 100px;
            background: #4C98F7;
        }

        #circle{
            width: 100px;
            height: 100px;
            background: #4C98F7;
            border-radius: 50%;
        }

        #semicircle{
            width: 100px;
            height: 50px;
            background: #4C98F7;
            border-radius: 100px 100px 0 0;
        }

        #semicircle{
            width: 100px;
            height: 50px;
            background: #4C98F7;
            border-radius: 100px 100px 0 0;
        }

        #oval{
            width: 100px;
            height: 50px;
            background: #4C98F7;
            border-radius: 100px / 50px;
        }

        #regular-triangle{
            width: 0;
            height: 0;
            border-left: 50px solid transparent;
            border-right: 50px solid transparent;
            border-bottom: 100px solid #4C98F7;
        }

        #corner-triangle{
            width: 0;
            height: 0;
            border-top: 100px solid #4C98F7;
            border-right: 100px solid transparent;
        }

        #parallelogram{
            margin: 0 15px;
            width: 200px; 
            height: 100px; 
            transform: skew(-20deg); 
            background: #4C98F7;
        }

        #diamond {
            width: 0;
            height: 0;
            border: 100px solid transparent;
            border-bottom-color: #4C98F7;
            position: relative;
            top: -100px;
        }
        #diamond:after {
            content: "";
            position: absolute;
            left: -100px;
            top: 100px;
            width: 0;
            height: 0;
            border: 100px solid transparent;
            border-top-color: #4C98F7;
        }

        #hexagons{ 
            margin: 35px 0;
            width: 0; 
            height: 0; 
            border-left: 60px solid transparent; 
            border-right: 60px solid transparent; 
            border-bottom: 60px solid #4C98F7; 
            position: relative; 
        } 
        #hexagons:after { 
            width: 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;
            width: 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; 
            width: 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; 
            width: 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;
            width: 100px;
            height: 90px;
        }
        #heart-shaped:before,
        #heart-shaped:after {
            content: "";
            position: absolute;
            left: 50px;
            top: 0;
            width: 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;
            width: 120px; 
            height: 80px; 
            background: #4C98F7; 
            position: relative; 
            border-radius: 10px; 
        } 
        #message-box:before { 
            content:"";
            position: absolute; 
            right: 100%; 
            top: 26px; 
            width: 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>

每日一题

代码语言:javascript
复制
https://github.com/WindrunnerMax/EveryDay

参考

代码语言:javascript
复制
https://www.jianshu.com/p/f40617d863a3
https://css-tricks.com/the-shapes-of-css/
https://www.w3cplus.com/css/create-shapes-with-css
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-08-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CSS实现图形效果
    • 正方形
      • 长方形
        • 圆形
          • 半圆
            • 椭圆
              • 三角形
                • 平行四边形
                  • 菱形
                    • 六角星
                      • 五角星
                        • 心形
                          • 消息框
                            • 示例
                              • 每日一题
                                • 参考
                                领券
                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档