我们的网页因为 CSS 而呈现千变万化的风格。这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果。特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来。《CSS 魔法系列》继续给大家带来 CSS 在网页中以及图形绘制中的使用。这篇文章给大家带来的是纯 CSS 绘制基本图形(圆、椭圆等)。
您可能感兴趣的相关文章
Square
|
1
2
3
4
5
|
#
square
{
width
:
100px
;
height
:
100px
;
background
:
red
;
}
|
Rectangle
|
1
2
3
4
5
|
#rectangle {
width
:
200px
;
height
:
100px
;
background
:
red
;
}
|
Circle
|
1
2
3
4
5
6
7
8
9
10
|
#
circle
{
width
:
100px
;
height
:
100px
;
background
:
red
;
-moz-border-radius:
50px
;
-webkit-border-radius:
50px
;
border-radius:
50px
;
}
/* Cleaner, but slightly less support: use "50%" as value */
|
Oval
|
1
2
3
4
5
6
7
8
9
10
|
#oval {
width
:
200px
;
height
:
100px
;
background
:
red
;
-moz-border-radius:
100px
/
50px
;
-webkit-border-radius:
100px
/
50px
;
border-radius:
100px
/
50px
;
}
/* Cleaner, but slightly less support: use "50%" as value */
|
Trapezoid
|
1
2
3
4
5
6
7
|
#trapezoid {
border-bottom
:
100px
solid
red
;
border-left
:
50px
solid
transparent
;
border-right
:
50px
solid
transparent
;
height
:
0
;
width
:
100px
;
}
|
Parallelogram
|
1
2
3
4
5
6
7
8
|
#parallelogram {
width
:
150px
;
height
:
100px
;
-webkit-transform: skew(
20
deg);
-moz-transform: skew(
20
deg);
-o-transform: skew(
20
deg);
background
:
red
;
}
|
Star (6-points)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#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
;
}
|
Star (5-points)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
#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(
35
deg);
-webkit-transform: rotate(
35
deg);
-ms-transform: rotate(
35
deg);
-o-transform: rotate(
35
deg);
}
#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(
-35
deg);
-moz-transform: rotate(
-35
deg);
-ms-transform: rotate(
-35
deg);
-o-transform: rotate(
-35
deg);
}
#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(
-70
deg);
-moz-transform: rotate(
-70
deg);
-ms-transform: rotate(
-70
deg);
-o-transform: rotate(
-70
deg);
content
:
''
;
}
|
Pentagon
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#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
;
}
|
Hexagon
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#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
;
}
|
Octagon
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#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
;
}
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#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(
-45
deg);
-moz-transform: rotate(
-45
deg);
-ms-transform: rotate(
-45
deg);
-o-transform: rotate(
-45
deg);
transform: rotate(
-45
deg);
-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(
45
deg);
-moz-transform: rotate(
45
deg);
-ms-transform: rotate(
45
deg);
-o-transform: rotate(
45
deg);
transform: rotate(
45
deg);
-webkit-transform-origin:
100%
100%
;
-moz-transform-origin:
100%
100%
;
-ms-transform-origin:
100%
100%
;
-o-transform-origin:
100%
100%
;
transform-origin :
100%
100%
;
}
|
本文介绍如何使用纯CSS绘制各种图形,包括正方形、长方形、圆形、椭圆、梯形、平行四边形以及更复杂的星形、五角星、六角星、五边形、六边形、八边形和心形。通过巧妙利用CSS3的属性如border-radius, transform等,无需图片即可轻松创建这些形状。
1355

被折叠的 条评论
为什么被折叠?



