纯CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等),NB么?
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:admin 阅读 528
今天在css-tricks上看到一篇文章,那篇文章让我不禁心头一震,强大的CSS啊,居然能画出这么多基本的图形。图形包括基本的矩形、圆形、椭圆、三角形、多边形,也包括稍微复杂一点的爱心、钻石、阴阳八

今天在css-tricks上看到一篇文章,那篇文章让我不禁心头一震,强大的CSS啊,居然能画出这么多基本的图形。图形包括基本的矩形、圆形、椭圆、三角形、多边形,也包括稍微复杂一点的爱心、钻石、阴阳八卦等。当然有一些需要用到CSS3的属性,所以在你打开这篇文章的时候,我希望你用的是 firefox或者chrome,当然IE也能看一部分的。那好,下面就一起来看看我们是如何用纯CSS来画这些图形的,如果你也觉得很震撼,推荐给你的朋友吧。是不是我在博客园的权限不够,后台编辑器中不能加style标签,所以就用图片替代实际的效果图了,当然,想看实际效果的朋友可以移驾至我的另一个博客,这篇文章两边是同步的,那边是实际的效果,原文:http://www.itivy.com/ivy/archive/2012/1/16/css-shape.html

1、正方形

最终效果:

image

CSS代码如下:

9、左上三角

最终效果:

image

CSS代码如下:

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

10、右上三角

最终效果:

image

CSS代码如下:

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

11、左下三角

最终效果:

image

CSS代码如下:

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

12、右下三角

最终效果:

image

CSS代码如下:

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

13、平行四边形

最终效果:

image

CSS代码如下:

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

14、梯形

最终效果:

image

CSS代码如下:

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

15、六角星

最终效果:

image

CSS代码如下:

#star-six {      width: 0;      height: 0;      border-left: 50px solid transparent;      border-right: 50px solid transparent;      border-bottom: 100px solid red;      position: relative;  }  #star-six:after {      width: 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、五角星

最终效果:

image

CSS代码如下:

#star-five {     margin: 50px 0;     position: relative;     display: block;     color: red;     width: 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;     width: 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;     width: 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、五角大楼

最终效果:

image

CSS代码如下:

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

18、六边形

最终效果:

image

CSS代码如下:

#hexagon {      width: 100px;      height: 55px;      background: red;      position: relative;  }  #hexagon:before {      content: "";      position: absolute;      top: -25px;       left: 0;      width: 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;      width: 0;      height: 0;      border-left: 50px solid transparent;      border-right: 50px solid transparent;      border-top: 25px solid red;  }

19、八角形

最终效果:

image

CSS代码如下:

#octagon {      width: 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;      width: 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;      width: 42px;      height: 0;  }

20、爱心

最终效果:

image

CSS代码如下:

#heart {      position: relative;      width: 100px;      height: 90px;  }  #heart:before,  #heart:after {      position: absolute;      content: "";      left: 50px;      top: 0;      width: 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: 
        
    
联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2