今天在css-tricks上看到一篇文章,那篇文章让我不禁心头一震,强大的CSS啊,居然能画出这么多基本的图形。图形包括基本的矩形、圆形、椭圆、三角形、多边形,也包括稍微复杂一点的爱心、钻石、阴阳八卦等。当然有一些需要用到CSS3的属性,所以在你打开这篇文章的时候,我希望你用的是Firefox或者Chrome,当然IE也能看一部分的。那好,下面就一起来看看我们是如何用纯CSS来画这些图形的,如果你也觉得很震撼,推荐给你的朋友吧。
1、正方形
最终效果:
CSS代码如下:
1 #square {2 width: 100px;3 height: 100px;4 background: red;5 }
2、长方形
最终效果:
CSS代码如下:
1 #rectangle {2 width: 200px;3 height: 100px;4 background: red;5 }
3、圆形
最终效果:
CSS代码如下:
1 #circle {2 width: 100px;3 height: 100px;4 background: red;5 -moz-border-radius: 50px;6 -webkit-border-radius: 50px;7 border-radius: 50px;8 }
4、椭圆
最终效果:
CSS代码如下:
1 #oval {2 width: 200px;3 height: 100px;4 background: red;5 -moz-border-radius: 100px / 50px;6 -webkit-border-radius: 100px / 50px;7 border-radius: 100px / 50px;8 }
5、上三角
最终效果:
CSS代码如下:
1 #triangle-up {2 width: 0;3 height: 0;4 border-left: 50px solid transparent;5 border-right: 50px solid transparent;6 border-bottom: 100px solid red;7 }
6、下三角
最终效果:
CSS代码如下:
1 #triangle-down {2 width: 0;3 height: 0;4 border-left: 50px solid transparent;5 border-right: 50px solid transparent;6 border-top: 100px solid red;7 }
7、左三角
最终效果:
CSS代码如下:
1 #triangle-left {2 width: 0;3 height: 0;4 border-top: 50px solid transparent;5 border-right: 100px solid red;6 border-bottom: 50px solid transparent;7 }
8、右三角
最终效果:
CSS代码如下:
1 #triangle-right {2 width: 0;3 height: 0;4 border-top: 50px solid transparent;5 border-left: 100px solid red;6 border-bottom: 50px solid transparent;7 }
9、左上三角
最终效果:
CSS代码如下:
1 #triangle-topleft {2 width: 0;3 height: 0;4 border-top: 100px solid red;5 border-right: 100px solid transparent; 6 }
10、右上三角
最终效果:
CSS代码如下:
1 #triangle-toPRight {2 width: 0;3 height: 0;4 border-top: 100px solid red;5 border-left: 100px solid transparent;6 7 }
11、左下三角
最终效果:
CSS代码如下:
1 #triangle-bottomleft {2 width: 0;3 height: 0;4 border-bottom: 100px solid red;5 border-right: 100px solid transparent; 6 }
12、右下三角
最终效果:
CSS代码如下:
1 #triangle-bottomright {2 width: 0;3 height: 0;4 border-bottom: 100px solid red;5 border-left: 100px solid transparent;6 }
13、平行四边形
最终效果:
CSS代码如下:
1 #parallelogram {2 width: 150px;3 height: 100px;4 margin-left:20px;5 -webkit-transform: skew(20deg);6 -moz-transform: skew(20deg);7 -o-transform: skew(20deg);8 background: red;9 }
14、梯形
最终效果:
CSS代码如下:
1 #trapezoid {2 border-bottom: 100px solid red;3 border-left: 50px solid transparent;4 border-right: 50px solid transparent;5 height: 0;6 width: 100px;7 }
15、六角星
最终效果:
CSS代码如下:
1 #star-six { 2 width: 0; 3 height: 0; 4 border-left: 50px solid transparent; 5 border-right: 50px solid transparent; 6 border-bottom: 100px solid red; 7 position: relative; 8 } 9 #star-six:after {10 width: 0;11 height: 0;12 border-left: 50px solid transparent;13 border-right: 50px solid transparent;14 border-top: 100px solid red;15 position: absolute;16 content: "";17 top: 30px;18 left: -50px;19 }
16、五角星
最终效果:
CSS代码如下:
1 #star-five { 2 margin: 50px 0; 3 position: relative; 4 display: block; 5 color: red; 6 width: 0px; 7 height: 0px; 8 border-right: 100px solid transparent; 9 border-bottom: 70px solid red;10 border-left: 100px solid transparent;11 -moz-transform: rotate(35deg);12 -webkit-transform: rotate(35deg);13 -ms-transform: rotate(35deg);14 -o-transform: rotate(35deg);15 }16 #star-five:before {17 border-bottom: 80px solid red;18 border-left: 30px solid transparent;19 border-right: 30px solid transparent;20 position: absolute;21 height: 0;22 width: 0;23 top: -45px;24 left: -65px;25 display: block;26 content: '';27 -webkit-transform: rotate(-35deg);28 -moz-transform: rotate(-35deg);29 -ms-transform: rotate(-35deg);30 -o-transform: rotate(-35deg);31 32 }33 #star-five:after {34 position: absolute;35 display: block;36 color: red;37 top: 3px;38 left: -105px;39 width: 0px;40 height: 0px;41 border-right: 100px solid transparent;42 border-bottom: 70px solid red;43 border-left: 100px solid transparent;44 -webkit-transform: rotate(-70deg);45 -moz-transform: rotate(-70deg);46 -ms-transform: rotate(-70deg);47 -o-transform: rotate(-70deg);48 content: '';49 }
17、五角大楼
最终效果:
CSS代码如下:
1 #pentagon { 2 position: relative; 3 width: 54px; 4 border-width: 50px 18px 0; 5 border-style: solid; 6 border-color: red transparent; 7 } 8 #pentagon:before { 9 content: "";10 position: absolute;11 height: 0;12 width: 0;13 top: -85px;14 left: -18px;15 border-width: 0 45px 35px;16 border-style: solid;17 border-color: transparent transparent red;18 }
18、六边形
最终效果:
CSS代码如下:
1 #hexagon { 2 width: 100px; 3 height: 55px; 4 background: red; 5 position: relative; 6 } 7 #hexagon:before { 8 content: ""; 9 position: absolute;10 top: -25px;11 left: 0;12 width: 0;13 height: 0;14 border-left: 50px solid transparent;15 border-right: 50px solid transparent;16 border-bottom: 25px solid red;17 }18 #hexagon:after {19 content: "";20 position: absolute;21 bottom: -25px;22 left: 0;23 width: 0;24 height: 0;25 border-left: 50px solid transparent;
新闻热点
疑难解答