• 纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)


    图形包括基本的矩形、圆形、椭圆、三角形、多边形,也包括稍微复杂一点的爱心、钻石、阴阳八卦等。当然有一些需要用到CSS3的属性,所以在你打开这篇文章的时候,我希望你用的是firefox或者chrome,当然IE也能看一部分的。那好,下面就一起来看看我们是如何用纯CSS来画这些图形的,如果你也觉得很震撼,推荐给你的朋友吧。

    1、正方形

    最终效果:

    CSS代码如下:

    #square { 
     100px; 
    height: 100px; 
    background: red; 
    } 

    2、长方形

    最终效果: 

    CSS代码如下:

    #rectangle { 
     200px; 
    height: 100px; 
    background: red; 
    } 

    3、圆形

    最终效果: 

    CSS代码如下:

    #circle { 
     100px; 
    height: 100px; 
    background: red; 
    -moz-border-radius: 50px; 
    -webkit-border-radius: 50px; 
    border-radius: 50px; 
    } 

    4、椭圆

    最终效果: 

    CSS代码如下:

    #oval { 
     200px; 
    height: 100px; 
    background: red; 
    -moz-border-radius: 100px / 50px; 
    -webkit-border-radius: 100px / 50px; 
    border-radius: 100px / 50px; 
    } 

    5、上三角

    最终效果:

    CSS代码如下:

    #triangle-up { 
     0; 
    height: 0; 
    border-left: 50px solid transparent; 
    border-right: 50px solid transparent; 
    border-bottom: 100px solid red; 
    } 

    6、下三角

    最终效果: 

    CSS代码如下:

    #triangle-down { 
     0; 
    height: 0; 
    border-left: 50px solid transparent; 
    border-right: 50px solid transparent; 
    border-top: 100px solid red; 
    } 

    7、左三角

    最终效果: 

    CSS代码如下:

    #triangle-left { 
     0; 
    height: 0; 
    border-top: 50px solid transparent; 
    border-right: 100px solid red; 
    border-bottom: 50px solid transparent; 
    } 

    8、右三角

    最终效果: 

    CSS代码如下:

    #triangle-right { 
     0; 
    height: 0; 
    border-top: 50px solid transparent; 
    border-left: 100px solid red; 
    border-bottom: 50px solid transparent; 
    } 

    9、左上三角

    最终效果:

    CSS代码如下:

    #triangle-topleft { 
     0; 
    height: 0; 
    border-top: 100px solid red; 
    border-right: 100px solid transparent; 
    } 

    10、右上三角

    最终效果: 

    CSS代码如下:

    #triangle-topright { 
     0; 
    height: 0; 
    border-top: 100px solid red; 
    border-left: 100px solid transparent; 
    } 

    11、左下三角

    最终效果: 

    CSS代码如下:

    #triangle-bottomleft { 
     0; 
    height: 0; 
    border-bottom: 100px solid red; 
    border-right: 100px solid transparent; 
    } 

    12、右下三角

    最终效果: 

    CSS代码如下:

    #triangle-bottomright { 
     0; 
    height: 0; 
    border-bottom: 100px solid red; 
    border-left: 100px solid transparent; 
    } 

    13、平行四边形

    最终效果: 

    CSS代码如下:

    #parallelogram { 
     150px; 
    height: 100px; 
    margin-left:20px; 
    -webkit-transform: skew(20deg); 
    -moz-transform: skew(20deg); 
    -o-transform: skew(20deg); 
    background: red; 
    } 

    14、梯形

    最终效果: 

    CSS代码如下:

    #trapezoid { 
    border-bottom: 100px solid red; 
    border-left: 50px solid transparent; 
    border-right: 50px solid transparent; 
    height: 0; 
     100px; 
    } 

    15、六角星

    最终效果: 

    CSS代码如下:

    #star-six { 
     0; 
    height: 0; 
    border-left: 50px solid transparent; 
    border-right: 50px solid transparent; 
    border-bottom: 100px solid red; 
    position: relative; 
    } 
    #star-six:after { 
     0; 
    height: 0; 
    border-left: 50px solid transparent; 
    border-right: 50px solid transparent; 
    border-top: 100px solid red; 
    position: absolute; 
    content: ""; 
    top: 30px; 
    left: -50px; 
    } 

    16、五角星

    最终效果: 

    CSS代码如下:

    #star-five { 
    margin: 50px 0; 
    position: relative; 
    display: block; 
    color: red; 
     0px; 
    height: 0px; 
    border-right: 100px solid transparent; 
    border-bottom: 70px solid red; 
    border-left: 100px solid transparent; 
    -moz-transform: rotate(35deg); 
    -webkit-transform: rotate(35deg); 
    -ms-transform: rotate(35deg); 
    -o-transform: rotate(35deg); 
    } 
    #star-five:before { 
    border-bottom: 80px solid red; 
    border-left: 30px solid transparent; 
    border-right: 30px solid transparent; 
    position: absolute; 
    height: 0; 
     0; 
    top: -45px; 
    left: -65px; 
    display: block; 
    content: ''; 
    -webkit-transform: rotate(-35deg); 
    -moz-transform: rotate(-35deg); 
    -ms-transform: rotate(-35deg); 
    -o-transform: rotate(-35deg); 
    } 
    #star-five:after { 
    position: absolute; 
    display: block; 
    color: red; 
    top: 3px; 
    left: -105px; 
     0px; 
    height: 0px; 
    border-right: 100px solid transparent; 
    border-bottom: 70px solid red; 
    border-left: 100px solid transparent; 
    -webkit-transform: rotate(-70deg); 
    -moz-transform: rotate(-70deg); 
    -ms-transform: rotate(-70deg); 
    -o-transform: rotate(-70deg); 
    content: ''; 
    } 

    17、五角大楼

    最终效果:

    CSS代码如下:

    #pentagon { 
    position: relative; 
     54px; 
    border- 50px 18px 0; 
    border-style: solid; 
    border-color: red transparent; 
    } 
    #pentagon:before { 
    content: ""; 
    position: absolute; 
    height: 0; 
     0; 
    top: -85px; 
    left: -18px; 
    border- 0 45px 35px; 
    border-style: solid; 
    border-color: transparent transparent red; 
    } 

    18、六边形

    最终效果:

    CSS代码如下:

    #hexagon { 
     100px; 
    height: 55px; 
    background: red; 
    position: relative; 
    } 
    #hexagon:before { 
    content: ""; 
    position: absolute; 
    top: -25px; 
    left: 0; 
     0; 
    height: 0; 
    border-left: 50px solid transparent; 
    border-right: 50px solid transparent; 
    border-bottom: 25px solid red; 
    } 
    #hexagon:after { 
    content: ""; 
    position: absolute; 
    bottom: -25px; 
    left: 0; 
     0; 
    height: 0; 
    border-left: 50px solid transparent; 
    border-right: 50px solid transparent; 
    border-top: 25px solid red; 
    } 

    19、八角形

    最终效果: 

    CSS代码如下:

    #octagon { 
     100px; 
    height: 100px; 
    background: red; 
    position: relative; 
    } 
    #octagon:before { 
    content: ""; 
    position: absolute; 
    top: 0; 
    left: 0; 
    border-bottom: 29px solid red; 
    border-left: 29px solid #eee; 
    border-right: 29px solid #eee; 
     42px; 
    height: 0; 
    } 
    #octagon:after { 
    content: ""; 
    position: absolute; 
    bottom: 0; 
    left: 0; 
    border-top: 29px solid red; 
    border-left: 29px solid #eee; 
    border-right: 29px solid #eee; 
     42px; 
    height: 0; 
    } 

    20、爱心

    最终效果: 

    CSS代码如下:

    #heart { 
    position: relative; 
     100px; 
    height: 90px; 
    } 
    #heart:before, 
    #heart:after { 
    position: absolute; 
    content: ""; 
    left: 50px; 
    top: 0; 
     50px; 
    height: 80px; 
    background: red; 
    -moz-border-radius: 50px 50px 0 0; 
    border-radius: 50px 50px 0 0; 
    -webkit-transform: rotate(-45deg); 
    -moz-transform: rotate(-45deg); 
    -ms-transform: rotate(-45deg); 
    -o-transform: rotate(-45deg); 
    transform: rotate(-45deg); 
    -webkit-transform-origin: 0 100%; 
    -moz-transform-origin: 0 100%; 
    -ms-transform-origin: 0 100%; 
    -o-transform-origin: 0 100%; 
    transform-origin: 0 100%; 
    } 
    #heart:after { 
    left: 0; 
    -webkit-transform: rotate(45deg); 
    -moz-transform: rotate(45deg); 
    -ms-transform: rotate(45deg); 
    -o-transform: rotate(45deg); 
    transform: rotate(45deg); 
    -webkit-transform-origin: 100% 100%; 
    -moz-transform-origin: 100% 100%; 
    -ms-transform-origin: 100% 100%; 
    -o-transform-origin: 100% 100%; 
    transform-origin :100% 100%; 
    } 

    21、无穷大符号

    最终效果:

    CSS代码如下:

    #infinity { 
    position: relative; 
     212px; 
    height: 100px; 
    } 
    #infinity:before, 
    #infinity:after { 
    content: ""; 
    position: absolute; 
    top: 0; 
    left: 0; 
     60px; 
    height: 60px; 
    border: 20px solid red; 
    -moz-border-radius: 50px 50px 0 50px; 
    border-radius: 50px 50px 0 50px; 
    -webkit-transform: rotate(-45deg); 
    -moz-transform: rotate(-45deg); 
    -ms-transform: rotate(-45deg); 
    -o-transform: rotate(-45deg); 
    transform: rotate(-45deg); 
    } 
    #infinity:after { 
    left: auto; 
    right: 0; 
    -moz-border-radius: 50px 50px 50px 0; 
    border-radius: 50px 50px 50px 0; 
    -webkit-transform: rotate(45deg); 
    -moz-transform: rotate(45deg); 
    -ms-transform: rotate(45deg); 
    -o-transform: rotate(45deg); 
    transform: rotate(45deg); 
    } 

    22、鸡蛋

    最终效果 

    CSS代码如下:

    #egg { 
    display:block; 
     126px; 
    height: 180px; 
    background-color: red; 
    -webkit-border-radius: 63px 63px 63px 63px / 108px 108px 72px 72px; 
    border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; 
    } 

    23、食逗人(Pac-Man)

    最终效果: 

    CSS代码如下:

    #pacman { 
     0px; 
    height: 0px; 
    border-right: 60px solid transparent; 
    border-top: 60px solid red; 
    border-left: 60px solid red; 
    border-bottom: 60px solid red; 
    border-top-left-radius: 60px; 
    border-top-right-radius: 60px; 
    border-bottom-left-radius: 60px; 
    border-bottom-right-radius: 60px; 
    } 

    24、提示对话框

    最终效果:

    CSS代码如下:

    #talkbubble { 
     120px; 
    height: 80px; 
    background: red; 
    position: relative; 
    -moz-border-radius: 10px; 
    -webkit-border-radius: 10px; 
    border-radius: 10px; 
    } 
    #talkbubble:before { 
    content:""; 
    position: absolute; 
    right: 100%; 
    top: 26px; 
     0; 
    height: 0; 
    border-top: 13px solid transparent; 
    border-right: 26px solid red; 
    border-bottom: 13px solid transparent; 
    } 

    25、12角星

    最终效果: 

    CSS代码如下:

    #burst-12 { 
    background: red; 
     80px; 
    height: 80px; 
    position: relative; 
    text-align: center; 
    } 
    #burst-12:before, #burst-12:after { 
    content: ""; 
    position: absolute; 
    top: 0; 
    left: 0; 
    height: 80px; 
     80px; 
    background: red; 
    } 
    #burst-12:before { 
    -webkit-transform: rotate(30deg); 
    -moz-transform: rotate(30deg); 
    -ms-transform: rotate(30deg); 
    -o-transform: rotate(30deg); 
    transform: rotate(30deg); 
    } 
    #burst-12:after { 
    -webkit-transform: rotate(60deg); 
    -moz-transform: rotate(60deg); 
    -ms-transform: rotate(60deg); 
    -o-transform: rotate(60deg); 
    transform: rotate(60deg); 
    } 

    26、8角星

    最终效果: 

    CSS代码如下:

    #burst-8 { 
    background: red; 
     80px; 
    height: 80px; 
    position: relative; 
    text-align: center; 
    -webkit-transform: rotate(20deg); 
    -moz-transform: rotate(20deg); 
    -ms-transform: rotate(20deg); 
    -o-transform: rotate(20eg); 
    transform: rotate(20deg); 
    } 
    #burst-8:before { 
    content: ""; 
    position: absolute; 
    top: 0; 
    left: 0; 
    height: 80px; 
     80px; 
    background: red; 
    -webkit-transform: rotate(135deg); 
    -moz-transform: rotate(135deg); 
    -ms-transform: rotate(135deg); 
    -o-transform: rotate(135deg); 
    transform: rotate(135deg); 
    } 

    27、钻石

    最终效果: 

    CSS代码如下:

    #cut-diamond { 
    border-style: solid; 
    border-color: transparent transparent red transparent; 
    border- 0 25px 25px 25px; 
    height: 0; 
     50px; 
    position: relative; 
    margin: 20px 0 50px 0; 
    } 
    #cut-diamond:after { 
    content: ""; 
    position: absolute; 
    top: 25px; 
    left: -25px; 
     0; 
    height: 0; 
    border-style: solid; 
    border-color: red transparent transparent transparent; 
    border- 70px 50px 0 50px; 
    } 

    28、阴阳八卦(霸气的这个)

    CSS代码如下:

    #yin-yang { 
     96px; 
    height: 48px; 
    background: #eee; 
    border-color: red; 
    border-style: solid; 
    border- 2px 2px 50px 2px; 
    border-radius: 100%; 
    position: relative; 
    } 
    #yin-yang:before { 
    content: ""; 
    position: absolute; 
    top: 50%; 
    left: 0; 
    background: #eee; 
    border: 18px solid red; 
    border-radius: 100%; 
     12px; 
    height: 12px; 
    } 
    #yin-yang:after { 
    content: ""; 
    position: absolute; 
    top: 50%; 
    left: 50%; 
    background: red; 
    border: 18px solid #eee; 
    border-radius:100%; 
     12px; 
    height: 12px; 
    } 
     好了,就到这里了,一共28个,个人觉得后面几个比较犀利。这些代码的来源是css-tricks。由青藤屋博客整理,转载请保留原文链接:http://www.itivy.com/ivy/archive/2012/1/16/css-shape.html
  • 相关阅读:
    EntityFramework 在实际开发做项目架构的一点疑问
    应用运筹学4Danzig Wolfe Decomposition
    应用运筹学2 约束优化
    应用运筹学3Benders Decomposition
    应用运筹学1 变量使用
    11组Beta冲刺5/5
    11组Beta冲刺3/5
    11组Beta冲刺4/5
    11组Alpha冲刺总结
    11组Beta冲刺1/5
  • 原文地址:https://www.cnblogs.com/gongshunkai/p/5818859.html
Copyright © 2020-2023  润新知