CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比贴图性能更好,体验更加,是一种非常好的网页美观方式。

这32种图形分别为圆形,椭圆形,三角形,倒三角形,左三角形,右三角形,菱形,梯形,长方形,正方形,圆环,平行四边形,五角星,六角星,五边形,六边形,八边形,心形,蛋形,无穷符号,消息提示框,钻石,八卦图,食豆人,扇形,月牙,顶左直角三角形,顶右直角三角形 ,底左直角三角形 ,底右直角三角形 ,八角形, 十二角形。
      网页代码中用到(<!-- 浮动Div换行 --> <div style="clear:both">)和Div边距设置和浮动(margin: 20px 20px; float: left;

1. 圆形:设置宽度和高度相等,border-radius属性为宽度或高度的一半。

效果图:

#Circle{
width:100px;
height:100px;
float: left;
background: #6fee1d;
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
border-radius: 50px;
}

2.椭圆形:圆形的变体,高度设置为宽度的一半,border-radius属性为高度除以高度一半。

效果图:

#Oval {
width: 200px;
height: 100px;
float: left;
background: #e9880c;
-webkit-border-radius: 100px / 50px;
-moz-border-radius: 100px / 50px;
border-radius: 100px / 50px;
}

  

3.三角形:宽度和高度设置为0,border设置左,右边透明,底边可见Solid。

效果图:

#Triangle {
width: ;
height: ;
float: left;
border-bottom: 100px solid #fcf706;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
}

4.倒三角形:宽度和高度设置为0,border设置左,右边透明,顶边可见Solid。

效果图:

#InvertedTriangle {
width: 0;
height: 0;
float: left;
border-top: 100px solid #30a3bf;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
}

  

5.左三角形:宽度和高度设置为0,border设置上,下边透明,右边可见Solid。

效果图:

#LeftTriangle {
width: 0;
height: 0;
float: left;
border-top: 50px solid transparent;
border-right: 100px solid #466f20;
border-bottom: 50px solid transparent;
}

6.菱形:使用transform和rotate相结合,使两个正反三角形上下显示。

效果图:

#Diamond {
width: 100px;
height: 100px;
float: left;
background: #8e00ff;
/* Rotate */
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
/* Rotate Origin */
-webkit-transform-origin: 0 100%;
-moz-transform-origin: 0 100%;
-ms-transform-origin: 0 100%;
-o-transform-origin: 0 100%;
transform-origin: 0 100%;
margin: 40px 0 10px 240px;
}

  

7.梯形:三角形的变体,设置左右两条边相等,并且给它设置一个宽度。

效果图:

#Trapezium {
height: 0;
width: 100px;
float: left;
border-bottom: 100px solid #dc2500;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
}

8.圆环:在圆形的基础上设置边界,边界颜色与圆形填充颜色不同。

效果图:

#Ring {
width: 100px;
height: 100px;
float: left;
background-color: white;
border-radius: 80px;
border:5px #ffd700 solid;
}

  

9.平行四边形:使用transform使长方形倾斜一个角度。

效果图:

  

  

#Parallelogram {
width: 120px;
height: 80px;
float: left;
margin-left: 10px;
-webkit-transform: skew(30deg);
-moz-transform: skew(30deg);
-o-transform: skew(30deg);
transform: skew(30deg);
background-color: #2eda01;
}

  

10.五角星:星形的实现方式比较复杂,主要是使用transform属性来旋转不同的边。

效果图:

#FiveStar {
width: 0;
height: 0;
float: left;
margin: 20px 20px;
color: #ff0012;
position: relative;
display: block;
border-right: 80px solid transparent;
border-bottom: 60px solid #ff0012;
border-left: 80px solid transparent;
-moz-transform: rotate(35deg);
-webkit-transform: rotate(35deg);
-ms-transform: rotate(35deg);
-o-transform: rotate(35deg);
}
#FiveStar:before {
height: 0;
width: 0;
content: '';
position: absolute;
display: block;
top: -35px;
left: -50px;
border-bottom: 60px solid #ff0012;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
-webkit-transform: rotate(-35deg);
-moz-transform: rotate(-35deg);
-ms-transform: rotate(-35deg);
-o-transform: rotate(-35deg);
}
#FiveStar:after {
width: 0;
height: 0;
content: '';
position: absolute;
display: block;
top: 3px;
left: -85px;
color: #ff0012;
border-right: 80px solid transparent;
border-bottom: 60px solid #ff0012;
border-left: 80px solid transparent;
-webkit-transform: rotate(-70deg);
-moz-transform: rotate(-70deg);
-ms-transform: rotate(-70deg);
-o-transform: rotate(-70deg);
}

 

11.六角星:使用transform属性来旋转不同的边。

效果图:

#SixStar{
width: 0;
height: 0;
float: left;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid #cfd810;
position: relative;
}
#SixStar:after{
width: 0;
height: 0;
content: "";
border-top: 100px solid #cfd810;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
position: absolute;
top: 30px;
left: -50px;
}

  

  

12.六边形:在长方形上面和下面各放置一个三角形。

效果图:

#Hexagon {
width: 100px;
height: 55px;
float: left;
background: #000001;
position: relative;
margin: 10px auto;
}
#Hexagon:before {
content: "";
width: 0;
height: 0;
position: absolute;
top: -25px;
left: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 25px solid #000001;
}
#Hexagon:after {
content: "";
width: 0;
height: 0;
position: absolute;
bottom: -25px;
left: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-top: 25px solid #000001;
}

 

13.五边形:可以采用三角形和梯形组合。

效果图:

#Pentagon{
width: 60px;
float: left;
position: relative;
border-width: 52px 20px 0;
border-style: solid;
border-color: #711ee2 transparent;
}
#Pentagon:before{
content: "";
position: absolute;
width: 0;
height: 0;
top: -92px;
left: -20px;
border-width: 0 50px 40px;
border-style: solid;
border-color: transparent transparent #711ee2;
}

  

14.八边形:在长方形上面和下面各放置一个梯形。

效果图:

#Octagon{
width: 100px;
height: 100px;
float: left;
margin: 10px 10px;
background-color: #66e006;
position: relative;
}
#Octagon:before{
width: 42px;
height: 0;
top: 0;
left: 0;
position: absolute;
content: "";
border-left: 29px solid #ffffff;
border-right: 29px solid #ffffff;
border-bottom: 29px solid #66e006;
}
#Octagon:after{
width: 42px;
height: 0;
left: 0;
bottom: 0;
position: absolute;
content: "";
border-left: 29px solid #ffffff;
border-right: 29px solid #ffffff;
border-top: 29px solid #66e006;
}

  

15.心形:心形的制作是非常复杂的,可以使用伪元素来制作,分别将伪元素旋转不同的角度,并修改transform-origin属性来设置元素的旋转中心点。

效果图:

#Heart {
float: left;
position: relative;
}
#Heart:before, #Heart:after {
content: "";
width: 70px;
height: 115px;
position: absolute;
background: red;
left: 70px;
top: 0;
-webkit-border-radius: 50px 50px 0 0;
-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%;
}

  16.蛋形:椭圆形的变体,高度比宽度稍大,设置正确的border-radius属性。

效果图:

#Egg {
width: 100px;
height: 160px;
float: left;
background: #ffb028;
display: block;
-webkit-border-radius: 60px 60px 60px 60px / 100px 100px 68px 68px;
border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
}

  

17.无穷符号:通过border属性和设置伪元素的角度来实现。

效果图:

#Infinity {
width: 220px;
height: 100px;
float: left;
position: relative;
}
#Infinity:before, #Infinity:after {
content: "";
width: 60px;
height: 60px;
position: absolute;
top: 0;
left: 0;
border: 20px solid #008bb0;
-moz-border-radius: 50px 50px 0;
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);
}

  18.消息提示框:一个圆角矩形加左边中间的一个小三角形。

效果图:

#CommentBubble {
width: 140px;
height: 100px;
margin: 30px 20px;
float: left;
background: #8867b9;
position: relative;
-moz-border-radius: 12px;
-webkit-border-radius: 12px;
border-radius: 12px;
}
#CommentBubble:before {
content: "";
width: 0;
height: 0;
right: 100%;
top: 38px;
position: absolute;
border-top: 13px solid transparent;
border-right: 26px solid #8867b9;
border-bottom: 13px solid transparent;
}

  19.钻石:上面一个梯形,下面一个三角形组成。

效果图:

#Diamonds{
width: 50px;
height: 0;
float: left;
border-style: solid;
border-color: transparent transparent #9aff02 transparent;
border-width: 0 25px 25px 25px;
position: relative;
margin: 20px 0 50px 0;
}
#Diamonds:after{
width: 0;
height: 0;
top: 25px;
left: -25px;
border-style: solid;
border-color: #9aff02 transparent transparent transparent;
border-width: 70px 50px 0 50px;
position: absolute;
content: "";
}

   20.八卦图:多个圆形的组合。

效果图:

#EightDiagrams{
width: 96px;
height: 48px;
margin: 20px 20px;
float: left;
background-color: #ffffff;
border-color: #000000;
border-style: solid;
border-width: 2px 2px 50px 2px;
border-radius: 100%;
position: relative;
}
#EightDiagrams:before {
width: 12px;
height: 12px;
top: 50%;
left: 0;
content: "";
position: absolute;
background-color: #ffffff;
border: 18px solid #000000;
border-radius: 100%;
}
#EightDiagrams:after {
width: 12px;
height: 12px;
top: 50%;
left: 50%;
background-color: #000000;
border: 18px solid #ffffff;
border-radius:100%;
content: "";
position: absolute;
}

     21.食豆人:设置border和border-top-left-radius,border-bottom-right-radius等属性。

效果图:

#PacMan {
width: 0;
height: 0;
float: left;
border-right: 60px solid transparent;
border-left: 60px solid #300fed;
border-top: 60px solid #300fed;
border-bottom: 60px solid #300fed;
border-top-left-radius: 60px;
border-top-right-radius: 60px;
border-bottom-left-radius: 60px;
border-bottom-right-radius: 60px;
}

   22.扇形:在三角形的基础上,让其中一边成弧形 。

效果图:

#Sector {
width:0;
height:0;
float: left;
background-color: #ffffff;
border-left: 70px solid transparent;
border-right: 70px solid transparent;
border-top: 100px solid #ab9ed1;
border-radius:50%;
}

  23.月牙:由两条弧线组成的,每个弧线可以看成一个圆的一部分弧长,在圆的基础上让圆有一个阴影可以形成一个月牙。

效果图:

#CrescentMoon{
width:80px;
height:80px;
float: left;
background-color: #ffffff;
border-radius:50%;
box-shadow: 15px 15px 0 0 #9600d2;
}

  24.顶左直角三角形。

效果图:

#TopLeftTriangle {
width: 0px;
height: 0px;
margin: 10px 10px;
float: left;
border-top: 100px solid #7efde1;
border-right: 100px solid transparent;
}

  25.八角形。

效果图:

#Burst8 {
width: 80px;
height: 80px;
margin: 10px 10px;
float: left;
background-color: #cf7668;
position: relative;
transform:rotate(20deg);
-webkit-transform:rotate(20deg);
-ms-transform:rotate(20deg);
-moz-transform:rotate(20deg);
-o-transform:rotate(20deg);
}
#Burst8:before{
width: 80px;
height: 80px;
top: 0;
left: 0;
background-color: #cf7668;
position: absolute;
content: "";
transform:rotate(135deg);
-webkit-transform:rotate(135deg);
-ms-transform:rotate(135deg);
-moz-transform:rotate(135deg);
-o-transform:rotate(135deg);
}

 26.十二角形。

效果图:

#Burst12 {
width: 80px;
height: 80px;
margin: 20px 20px;
float: left;
background-color: #a8ff26;
position: relative;
text-align: center;
}
#Burst12:before, #Burst12:after{
width: 80px;
height: 80px;
top: 0;
left: 0;
background-color: #a8ff26;
position: absolute;
content: "";
}
#Burst12:before{
transform:rotate(30deg);
-webkit-transform:rotate(30deg);
-ms-transform:rotate(30deg);
-moz-transform:rotate(30deg);
-o-transform:rotate(30deg);
}
#Burst12:after{
transform:rotate(60deg);
-webkit-transform:rotate(60deg);
-ms-transform:rotate(60deg);
-moz-transform:rotate(60deg);
-o-transform:rotate(60deg);
}

  完整的CSS3+HTML5代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CSS3实现基本图形</title>
<style>
#Circle{
width:100px;
height:100px;
float: left;
background: #6fee1d;
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
border-radius: 50px;
}
#Oval {
width: 200px;
height: 100px;
float: left;
background: #e9880c;
-webkit-border-radius: 100px / 50px;
-moz-border-radius: 100px / 50px;
border-radius: 100px / 50px;
}
#Triangle {
width: 0;
height: 0;
float: left;
border-bottom: 100px solid #fcf706;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
}
#InvertedTriangle {
width: 0;
height: 0;
float: left;
border-top: 100px solid #30a3bf;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
}
#LeftTriangle {
width: 0;
height: 0;
float: left;
border-top: 50px solid transparent;
border-right: 100px solid #466f20;
border-bottom: 50px solid transparent;
}
#RightTriangle {
width: 0;
height: 0;
float: left;
border-top: 50px solid transparent;
border-left: 100px solid #800820;
border-bottom: 50px solid transparent;
}
#Diamond {
width: 100px;
height: 100px;
float: left;
background: #8e00ff;
/* Rotate */
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
/* Rotate Origin */
-webkit-transform-origin: 0 100%;
-moz-transform-origin: 0 100%;
-ms-transform-origin: 0 100%;
-o-transform-origin: 0 100%;
transform-origin: 0 100%;
margin: 40px 0 10px 240px;
}
#Trapezium {
height: 0;
width: 100px;
float: left;
border-bottom: 100px solid #dc2500;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
}
#Rectangle {
height: 50px;
width: 100px;
float: left;
background: #afe05d;
}
#Square {
height: 100px;
width: 100px;
float: left;
background: #b02089;
}
#Ring {
width: 100px;
height: 100px;
float: left;
background-color: white;
border-radius: 80px;
border:5px #ffd700 solid;
}
#Parallelogram {
width: 120px;
height: 80px;
float: left;
margin-left: 10px;
-webkit-transform: skew(30deg);
-moz-transform: skew(230deg);
-o-transform: skew(30deg);
transform: skew(30deg);
background-color: #2eda01;
} #FiveStar {
width: 0;
height: 0;
float: left;
margin: 20px 20px;
color: #ff0012;
position: relative;
display: block;
border-right: 80px solid transparent;
border-bottom: 60px solid #ff0012;
border-left: 80px solid transparent;
-moz-transform: rotate(35deg);
-webkit-transform: rotate(35deg);
-ms-transform: rotate(35deg);
-o-transform: rotate(35deg);
}
#FiveStar:before {
height: 0;
width: 0;
content: '';
position: absolute;
display: block;
top: -35px;
left: -50px;
border-bottom: 60px solid #ff0012;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
-webkit-transform: rotate(-35deg);
-moz-transform: rotate(-35deg);
-ms-transform: rotate(-35deg);
-o-transform: rotate(-35deg);
}
#FiveStar:after {
width: 0;
height: 0;
content: '';
position: absolute;
display: block;
top: 3px;
left: -85px;
color: #ff0012;
border-right: 80px solid transparent;
border-bottom: 60px solid #ff0012;
border-left: 80px solid transparent;
-webkit-transform: rotate(-70deg);
-moz-transform: rotate(-70deg);
-ms-transform: rotate(-70deg);
-o-transform: rotate(-70deg);
} #SixStar{
width: 0;
height: 0;
float: left;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid #cfd810;
position: relative;
}
#SixStar:after{
width: 0;
height: 0;
content: "";
border-top: 100px solid #cfd810;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
position: absolute;
top: 30px;
left: -50px;
} #Pentagon{
width: 60px;
float: left;
position: relative;
border-width: 52px 20px 0;
border-style: solid;
border-color: #711ee2 transparent;
}
#Pentagon:before{
content: "";
position: absolute;
width: 0;
height: 0;
top: -92px;
left: -20px;
border-width: 0 50px 40px;
border-style: solid;
border-color: transparent transparent #711ee2;
} #Hexagon {
width: 100px;
height: 55px;
float: left;
background: #000001;
position: relative;
margin: 10px auto;
}
#Hexagon:before {
content: "";
width: 0;
height: 0;
position: absolute;
top: -25px;
left: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 25px solid #000001;
}
#Hexagon:after {
content: "";
width: 0;
height: 0;
position: absolute;
bottom: -25px;
left: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-top: 25px solid #000001;
} #Octagon{
width: 100px;
height: 100px;
float: left;
margin: 10px 10px;
background-color: #66e006;
position: relative;
}
#Octagon:before{
width: 42px;
height: 0;
top: 0;
left: 0;
position: absolute;
content: "";
border-left: 29px solid #ffffff;
border-right: 29px solid #ffffff;
border-bottom: 29px solid #66e006;
}
#Octagon:after{
width: 42px;
height: 0;
left: 0;
bottom: 0;
position: absolute;
content: "";
border-left: 29px solid #ffffff;
border-right: 29px solid #ffffff;
border-top: 29px solid #66e006;
} #Heart {
float: left;
position: relative;
}
#Heart:before, #Heart:after {
content: "";
width: 70px;
height: 115px;
position: absolute;
background: red;
left: 70px;
top: 0;
-webkit-border-radius: 50px 50px 0 0;
-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%;
} #Egg {
width: 100px;
height: 160px;
float: left;
background: #ffb028;
display: block;
-webkit-border-radius: 60px 60px 60px 60px / 100px 100px 68px 68px;
border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
} #Infinity {
width: 220px;
height: 100px;
float: left;
position: relative;
}
#Infinity:before, #Infinity:after {
content: "";
width: 60px;
height: 60px;
position: absolute;
top: 0;
left: 0;
border: 20px solid #008bb0;
-moz-border-radius: 50px 50px 0;
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);
} #CommentBubble {
width: 140px;
height: 100px;
margin: 30px 20px;
float: left;
background: #8867b9;
position: relative;
-moz-border-radius: 12px;
-webkit-border-radius: 12px;
border-radius: 12px;
}
#CommentBubble:before {
content: "";
width: 0;
height: 0;
right: 100%;
top: 38px;
position: absolute;
border-top: 13px solid transparent;
border-right: 26px solid #8867b9;
border-bottom: 13px solid transparent;
} #Diamonds{
width: 50px;
height: 0;
float: left;
border-style: solid;
border-color: transparent transparent #9aff02 transparent;
border-width: 0 25px 25px 25px;
position: relative;
margin: 20px 0 50px 0;
}
#Diamonds:after{
width: 0;
height: 0;
top: 25px;
left: -25px;
border-style: solid;
border-color: #9aff02 transparent transparent transparent;
border-width: 70px 50px 0 50px;
position: absolute;
content: "";
} #EightDiagrams{
width: 96px;
height: 48px;
margin: 20px 20px;
float: left;
background-color: #ffffff;
border-color: #000000;
border-style: solid;
border-width: 2px 2px 50px 2px;
border-radius: 100%;
position: relative;
}
#EightDiagrams:before {
width: 12px;
height: 12px;
top: 50%;
left: 0;
content: "";
position: absolute;
background-color: #ffffff;
border: 18px solid #000000;
border-radius: 100%;
}
#EightDiagrams:after {
width: 12px;
height: 12px;
top: 50%;
left: 50%;
background-color: #000000;
border: 18px solid #ffffff;
border-radius:100%;
content: "";
position: absolute;
} #PacMan {
width: 0;
height: 0;
float: left;
border-right: 60px solid transparent;
border-left: 60px solid #300fed;
border-top: 60px solid #300fed;
border-bottom: 60px solid #300fed;
border-top-left-radius: 60px;
border-top-right-radius: 60px;
border-bottom-left-radius: 60px;
border-bottom-right-radius: 60px;
} #Sector {
width:0;
height:0;
float: left;
background-color: #ffffff;
border-left: 70px solid transparent;
border-right: 70px solid transparent;
border-top: 100px solid #ab9ed1;
border-radius:50%;
} #CrescentMoon{
width:80px;
height:80px;
float: left;
background-color: #ffffff;
border-radius:50%;
box-shadow: 15px 15px 0 0 #9600d2;
} #TopLeftTriangle {
width: 0px;
height: 0px;
margin: 10px 10px;
float: left;
border-top: 100px solid #7efde1;
border-right: 100px solid transparent;
}
#TopRightTriangle {
width: 0px;
height: 0px;
margin: 10px 10px;
float: left;
border-top: 100px solid #400526;
border-left: 100px solid transparent;
}
#BottomLeftTriangle {
width: 0px;
height: 0px;
margin: 10px 10px;
float: left;
border-bottom: 100px solid #600ffe;
border-right: 100px solid transparent;
}
#BottomRightTriangle {
width: 0px;
height: 0px;
margin: 10px 10px;
float: left;
border-bottom: 100px solid #ff7578;
border-left: 100px solid transparent;
} #Burst8 {
width: 80px;
height: 80px;
margin: 10px 10px;
float: left;
background-color: #cf7668;
position: relative;
transform:rotate(20deg);
-webkit-transform:rotate(20deg);
-ms-transform:rotate(20deg);
-moz-transform:rotate(20deg);
-o-transform:rotate(20deg);
}
#Burst8:before{
width: 80px;
height: 80px;
top: 0;
left: 0;
background-color: #cf7668;
position: absolute;
content: "";
transform:rotate(135deg);
-webkit-transform:rotate(135deg);
-ms-transform:rotate(135deg);
-moz-transform:rotate(135deg);
-o-transform:rotate(135deg);
} #Burst12 {
width: 80px;
height: 80px;
margin: 20px 20px;
float: left;
background-color: #a8ff26;
position: relative;
text-align: center;
}
#Burst12:before, #Burst12:after{
width: 80px;
height: 80px;
top: 0;
left: 0;
background-color: #a8ff26;
position: absolute;
content: "";
}
#Burst12:before{
transform:rotate(30deg);
-webkit-transform:rotate(30deg);
-ms-transform:rotate(30deg);
-moz-transform:rotate(30deg);
-o-transform:rotate(30deg);
}
#Burst12:after{
transform:rotate(60deg);
-webkit-transform:rotate(60deg);
-ms-transform:rotate(60deg);
-moz-transform:rotate(60deg);
-o-transform:rotate(60deg);
}
</style>
</head>
<body>
<!-- 圆形:设置宽度和高度相等,border-radius属性为宽度或高度的一半 -->
<div id="Circle"></div>
<!-- 椭圆形:圆形的变体,高度设置为宽度的一半,border-radius属性为高度除以高度一半 -->
<div id="Oval"></div>
<!-- 三角形:宽度和高度设置为0,border设置左,右边透明,底边可见Solid -->
<div id="Triangle"></div>
<!-- 倒三角形:宽度和高度设置为0,border设置左,右边透明,顶边可见Solid -->
<div id="InvertedTriangle"></div>
<!-- 左三角形:宽度和高度设置为0,border设置上,下边透明,右边可见Solid -->
<div id="LeftTriangle"></div>
<!-- 右三角形:宽度和高度设置为0,border设置上,下边透明,左边可见Solid -->
<div id="RightTriangle"></div>
<!-- 菱形:使用transform和rotate相结合,使两个正反三角形上下显示 -->
<div id="Diamond"></div>
<!-- 梯形:三角形的变体,设置左右两条边相等,并且给它设置一个宽度 -->
<div id="Trapezium"></div>
<!-- 长方形:宽比高长 -->
<div id="Rectangle"></div> <!-- 浮动Div换行 -->
<div style="clear:both">
<!-- 正方形:宽和高相等 -->
<div id="Square"></div>
<!-- 圆环:在圆形的基础上设置边界,边界颜色与圆形填充颜色不同 -->
<div id="Ring"></div>
<!-- 平行四边形:使用transform使长方形倾斜一个角度 -->
<div id="Parallelogram"></div>
<!-- 五角星:星形的实现方式比较复杂,主要是使用transform属性来旋转不同的边 -->
<div id="FiveStar"></div>
<!-- 六角星:使用transform属性来旋转不同的边 -->
<div id="SixStar"></div>
<!-- 五边形:可以采用三角形和梯形组合 -->
<div id="Pentagon"></div>
<!-- 六边形:在长方形上面和下面各放置一个三角形 -->
<div id="Hexagon"></div>
<!-- 八边形:在长方形上面和下面各放置一个梯形 -->
<div id="Octagon"></div>
<!-- 心形:心形的制作是非常复杂的,可以使用伪元素来制作,分别将伪元素旋转不同的角度,并修改transform-origin属性来设置元素的旋转中心点 -->
<div id="Heart"></div> <!-- 浮动Div换行 -->
<div style="clear:both">
<!-- 蛋形:椭圆形的变体,高度比宽度稍大,设置正确的border-radius属性 -->
<div id="Egg"></div>
<!-- 无穷符号:通过border属性和设置伪元素的角度来实现 -->
<div id="Infinity"></div>
<!-- 消息提示框:一个圆角矩形加左边中间的一个小三角形 -->
<div id="CommentBubble"></div>
<!-- 钻石:上面一个梯形,下面一个三角形组成 -->
<div id="Diamonds"></div>
<!-- 八卦图:多个圆形的组合-->
<div id="EightDiagrams"></div>
<!-- 食豆人:设置border和border-top-left-radius,border-bottom-right-radius等属性-->
<div id="PacMan"></div>
<!-- 扇形:在三角形的基础上,让其中一边成弧形 -->
<div id="Sector"></div>
<!-- 月牙:由两条弧线组成的,每个弧线可以看成一个圆的一部分弧长,在圆的基础上让圆有一个阴影可以形成一个月牙 -->
<div id="CrescentMoon"></div> <!-- 浮动Div换行 -->
<div style="clear:both">
<!-- 顶左直角三角形 -->
<div id="TopLeftTriangle"></div>
<!-- 顶右直角三角形 -->
<div id="TopRightTriangle"></div>
<!-- 底左直角三角形 -->
<div id="BottomLeftTriangle"></div>
<!-- 底右直角三角形 -->
<div id="BottomRightTriangle"></div>
<!-- 八角形 -->
<div id="Burst8"></div>
<!-- 十二角形 -->
<div id="Burst12"></div>
</body>
</html>

  

 

 

CSS3实现二十多种基本图形的更多相关文章

  1. CSS3新特性,绘制常见图形

    前言:最近准备做一个自己的网页,设计稿中导航我准备设计成矩形,也有hover样式展示的矩形,当中一些头像等等.以前除了画圆,好像真没认真画过其他图形,今天就画画我们常见到的几个图形. 在此之前我们有必 ...

  2. 纯css3样式属性制作各种图形图标

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. Oracle 12cR1 RAC集群安装(二)--使用图形界面安装

    Oracle 12cR1 RAC集群安装文档:Oracle 12cR1 RAC集群安装(一)--环境准备Oracle 12cR1 RAC集群安装(二)--使用图形界面安装Oracle 12cR1 RA ...

  4. CSS3实现32种基本图形

    CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出.直接用CSS3画出这些图形,要比贴图性能更好,体验更加,是一种非常好的网页美观方式. 这32种图形分别为圆形,椭圆形,三角形,倒三角形, ...

  5. 160419、CSS3实现32种基本图形

    CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出.直接用CSS3画出这些图形,要比贴图性能更好,体验更加,是一种非常好的网页美观方式. 这32种图形分别为圆形,椭圆形,三角形,倒三角形, ...

  6. 【canvas学习笔记二】绘制图形

    上一篇我们已经讲述了canvas的基本用法,学会了构建canvas环境.现在我们就来学习绘制一些基本图形. 坐标 canvas的坐标原点在左上角,从左到右X轴坐标增加,从上到下Y轴坐标增加.坐标的一个 ...

  7. 从零开始学 Web 之 CSS3(二)颜色模式,文字阴影,盒模型,边框圆角,边框阴影

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  8. CSS3 笔记二(Gradients)

    CSS3 Gradients Two types of gradients: Linear Gradients (goes down/up/left/right/diagonally) Radial ...

  9. CSS3系列二(媒体支持、文字与字体相关样式、盒相关样式)

    CSS3媒体支持 在css3中允许我们在不改变内容的情况下,在样式中选择一种页面的布局以精确的适应不同的设备,从而改善用户体验 可以利用meta标签在页面中指定浏览器在处理本页面时按照多少像素的窗口宽 ...

随机推荐

  1. angular实现了一个简单demo,angular-weibo-favorites

    前面必须说一段 帮客户做了一个过渡期的项目,唯一的要求就是速度,我只是会点儿基础的php,于是就用tp帮客户做了这个项目.最近和客户架构沟通,后期想把项目重新做一下,就用现在最流行的技术,暂时想的使用 ...

  2. js字符串函数(split、join、indexOf、substring)

    1,函数:split()功能:使用一个指定的分隔符把一个字符串分割存储到数组示例: str="jpg|bmp|gif|ico|png";arr= str .split(" ...

  3. “耐撕”2016.04.13站立会议

    1. 时间 : 19:40--20:00  共计20分钟 2. 人员 : Z   郑蕊 * 组长 (博客:http://www.cnblogs.com/zhengrui0452/), P 濮成林(博客 ...

  4. 日志框架对比 NLog VS Log4net

    Log4net 先说Log4net,它是.net平台上一个老牌的日志框架,我接触的时间也不长(因为公司有自己的日志库),但是看着各开源库都在用这个于是前段时间也尝试去了解了一下. 首先让我认识到Log ...

  5. python 参数的组合

    现在我们知道python定义函数的参数类型有:必选参数 默认参数 可变参数 关键字参数 但是在我们日常中我们是可以组合使用这些参数的:但是使用的时候,参数定义是有顺序的 定义的顺序必须是:必选参数,默 ...

  6. LCA最近公共祖先 Tarjan离线算法

    学习博客:  http://noalgo.info/476.html 讲的很清楚! 对于一颗树,dfs遍历时,先向下遍历,并且用并查集维护当前节点和父节点的集合.这样如果关于当前节点(A)的关联节点( ...

  7. Maven-在eclipse创建maven项目

    在eclipse使用maven则需要给eclipse安装maven插件,具体安装maven插件安装相关文章 构建Maven项目 以eclipse3.6为例 1)创建简单Maven项目 点击Eclips ...

  8. CAS做单点登陆(SSO)——集成BIEE 11g

    BIEE 11G和CAS集成零代码编写,只需配置. 更改BIEE analytics应用的web.xml 将analytics.war解包(使用7-zip或者Win-rar就可以),然后修改WEB-I ...

  9. BZOJ1816 [Cqoi2010]扑克牌

    Description 你有n种牌,第i种牌的数目为ci.另外有一种特殊的 牌:joker,它的数目是m.你可以用每种牌各一张来组成一套牌,也可以用一张joker和除了某一种牌以外的其他牌各一张组成1 ...

  10. input使用javascript限制输入带小数的数字

    如题,网上找了很多都不太好实现.我的实现需求如下: 1.如果输入数字不带小数点那么自动加入两位小数,如:输入5,替换为5.00 2.输入5.,替换为5.00 3.输入5.1,替换为5.10 4.输入非 ...