首页 > 网站 > WEB开发 > 正文

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

2024-04-27 14:35:58
字体:
来源:转载
供稿:网友
CSS画的基本图形(矩形、圆形、三角形、多边形、爱心、八卦等)

  今天在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;
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表