CSS之纯CSS画的骨干图形,画基本图形

by admin on 2019年5月2日

奇妙的 CSS shapes(CSS图形)

2017/06/13 · CSS · 1
评论 ·
shapes

本文小编: 伯乐在线 –
chokcoco
。未经作者许可,禁止转发!
接待到场伯乐在线 专栏小编。

CSS
发展到明天早已越发庞大了。其语法的百废俱兴,让众多原先落成不了的事情,以往得以丰硕轻易的成功。前些天就向大家介绍几个比较新的有力的
CSS 作用:

  • clip-path
  • shape-outside

shape 的情致是图形,CSS shapes 也便是 CSS 图形的情趣,也等于行使 CSS
生成各类图片(圆形、矩形、椭圆、多边形等几何图形)。

CSS叁此前,大家能做的唯有矩形,44方方,条条框框。

CSS之纯CSS画的大旨图形(矩形、圆形、三角形、多边形、爱心、八卦等),css矩形

图片包蕴大旨的矩形、圆形、椭圆、三角形、多边形,也席卷稍微复杂一点的慈祥、钻石、阴阳八卦等。当然有部分索要用到CSS三的性质,所以在你展开那篇小说的时候,小编期望您用的是firefox大概chrome,当然IE也能看有的的。那好,上面就伙同来探望我们是什么用纯CSS来画那些图片的,假诺你也以为很激动,推荐给你的情人啊。

 

1、正方形

最后效果: 

 CSS代码如下:

复制代码 代码如下:
#square {
width: 100px;
height: 100px;
background: red;
}

2、长方形

 

最终效果: 

 CSS代码如下:

复制代码 代码如下:
#rectangle {
width: 200px;
height: 100px;
background: red;
}

3、圆形

 

末段效果: 

 CSS代码如下:

复制代码 代码如下:
#circle {
width: 100px;
height: 100px;
background: red;
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
border-radius: 50px;
}

4、椭圆

 

终极效果: 

 CSS代码如下:

复制代码 代码如下:
#oval {
width: 200px;
height: 100px;
background: red;
-moz-border-radius: 100px / 50px;
-webkit-border-radius: 100px / 50px;
border-radius: 100px / 50px;
}

5、上三角

 

最终效果:

 

 

 

CSS代码如下:

复制代码 代码如下:
#triangle-up {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
CSS之纯CSS画的骨干图形,画基本图形。border-bottom: 100px solid red;
}

6、下三角

 

末尾效果: 

 CSS代码如下:

复制代码 代码如下:
#triangle-down {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-top: 100px solid red;
}

7、左三角

 

终极效果: 

 CSS代码如下:

复制代码 代码如下:
#triangle-left {
width: 0;
height: 0;
border-top: 50px solid transparent;
border-right: 100px solid red;
border-bottom: 50px solid transparent;
}

8、右三角

 

最终效果: 

 CSS代码如下:

复制代码 代码如下:
#triangle-right {
width: 0;
height: 0;
border-top: 50px solid transparent;
border-left: 100px solid red;
border-bottom: 50px solid transparent;
}

玖、左上三角

 

最后效果: 

 CSS代码如下:

复制代码 代码如下:
#triangle-topleft {
width: 0;
height: 0;
border-top: 100px solid red;
border-right: 100px solid transparent;
}

拾、右上三角

 

末了效果: 

 CSS代码如下:

复制代码 代码如下:
#triangle-topright {
width: 0;
height: 0;
border-top: 100px solid red;
border-left: 100px solid transparent;
}

11、左下三角

 

最终效果: 

 CSS代码如下:

复制代码 代码如下:
#triangle-bottomleft {
width: 0;
height: 0;
border-bottom: 100px solid red;
border-right: 100px solid transparent;
}

1二、右下三角

 

末尾效果: 

 CSS代码如下:

复制代码 代码如下:
#triangle-bottomright {
width: 0;
height: 0;
border-bottom: 100px solid red;
border-left: 100px solid transparent;
}

一3、平行肆边形

 

末段效果: 

 CSS代码如下:

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

14、梯形

CSS之纯CSS画的骨干图形,画基本图形。 

终极效果: 

 CSS代码如下:

复制代码 代码如下:
#trapezoid {
border-bottom: 100px solid red;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
height: 0;
width: 100px;
}

15、六角星

 

最终效果: 

 

 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、五角星

 

末尾效果: 

 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、伍角大楼

 

末尾效果:

 

 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、六边形

 

谈起底效果:

 

 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、八角形

 

最终效果: 

 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、爱心

 

末尾效果: 

 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: 100% 100%;
-o-transform-origin: 100% 100%;
transform-origin :100% 100%;
}

2一、无穷大符号

 

末尾效果:

 

 

 

CSS代码如下:

复制代码 代码如下:
#infinity {
position: relative;
width: 212px;
height: 100px;
}
#infinity:before,
#infinity:after {
content: “”;
position: absolute;
top: 0;
left: 0;
width: 60px;
height: 60px;
border: 20px solid red;
-moz-border-radius: 50px 50px 0 50px;
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);
}

22、鸡蛋

 

终极效果 

 CSS代码如下:

复制代码 代码如下:
#egg {
display:block;
width: 126px;
height: 180px;
background-color: red;
-webkit-border-radius: 63px 63px 63px 63px / 108px 108px 72px 72px;
border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
}

23、食逗人(Pac-Man)

 

末了效果: 

 CSS代码如下:

复制代码 代码如下:
#pacman {
width: 0px;
height: 0px;
border-right: 60px solid transparent;
border-top: 60px solid red;
border-left: 60px solid red;
border-bottom: 60px solid red;
border-top-left-radius: 60px;
border-top-right-radius: 60px;
border-bottom-left-radius: 60px;
border-bottom-right-radius: 60px;
}

二四、提醒对话框

 

末了效果:

 

 

 

CSS代码如下:

复制代码 代码如下:
#talkbubble {
width: 120px;
height: 80px;
background: red;
position: relative;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
}
#talkbubble:before {
content:””;
position: absolute;
right: 100%;
top: 26px;
width: 0;
height: 0;
border-top: 13px solid transparent;
border-right: 26px solid red;
border-bottom: 13px solid transparent;
}

25、12角星

 

末段效果: 

 CSS代码如下:

复制代码 代码如下:
#burst-12 {
background: red;
width: 80px;
height: 80px;
position: relative;
text-align: center;
}
#burst-12:before, #burst-12:after {
content: “”;
position: absolute;
top: 0;
left: 0;
height: 80px;
width: 80px;
background: red;
}
#burst-12:before {
-webkit-transform: rotate(30deg);
-moz-transform: rotate(30deg);
-ms-transform: rotate(30deg);
-o-transform: rotate(30deg);
transform: rotate(30deg);
}
#burst-12:after {
-webkit-transform: rotate(60deg);
-moz-transform: rotate(60deg);
-ms-transform: rotate(60deg);
-o-transform: rotate(60deg);
transform: rotate(60deg);
}

26、8角星

 

谈到底效果: 

 CSS代码如下:

复制代码 代码如下:
#burst-8 {
background: red;
width: 80px;
height: 80px;
position: relative;
text-align: center;
-webkit-transform: rotate(20deg);
-moz-transform: rotate(20deg);
-ms-transform: rotate(20deg);
-o-transform: rotate(20eg);
transform: rotate(20deg);
}
#burst-8:before {
content: “”;
position: absolute;
top: 0;
left: 0;
height: 80px;
width: 80px;
background: red;
-webkit-transform: rotate(135deg);
-moz-transform: rotate(135deg);
-ms-transform: rotate(135deg);
-o-transform: rotate(135deg);
transform: rotate(135deg);
}

27、钻石

 

最后效果: 

 CSS代码如下:

复制代码 代码如下:
#cut-diamond {
border-style: solid;
border-color: transparent transparent red transparent;
border-width: 0 25px 25px 25px;
height: 0;
width: 50px;
position: relative;
margin: 20px 0 50px 0;
}
#cut-diamond:after {
content: “”;
position: absolute;
top: 25px;
left: -25px;
width: 0;
height: 0;
border-style: solid;
border-color: red transparent transparent transparent;
border-width: 70px 50px 0 50px;
}

2八、阴阳八卦(霸气的那么些)

 

 

 

 

CSS代码如下:

复制代码 代码如下:
#yin-yang {
width: 96px;
height: 48px;
background: #eee;
border-color: red;
border-style: solid;
border-width: 2px 2px 50px 2px;
border-radius: 100%;
position: relative;
}
#yin-yang:before {
content: “”;
position: absolute;
top: 50%;
left: 0;
background: #eee;
border: 18px solid red;
border-radius: 100%;
width: 12px;
height: 12px;
}
#yin-yang:after {
content: “”;
position: absolute;
top: 50%;
left: 50%;
background: red;
border: 18px solid #eee;
border-radius:100%;
width: 12px;
height: 12px;
}

好了,就到那边了,1共35个,个人以为后边多少个比较锐利。这个代码的根源是css-tricks。由青藤屋博客整理,转发请保留最初的作品链接:

图形包含基本的矩形、圆形、椭圆、三角形、多边形,也…

CSS3 画基本图形,圆形、正方形、三角形等,css三星型

CSS3 圆形
#css3-circle{
 width: 150px;
 height: 150px;
 border-radius: 50%;
 background-color: #232323;}
CSS3 椭圆形
#css3-elipse{
 width: 200px;
 height: 100px;
 border-radius: 50%;
 background-color: #232323;}
CSS3 三角形
#css3-triangle{
 width: 0;
 height: 0;
 border-left: 100px solid transparent;
 border-right: 100px solid transparent;
 border-bottom: 150px solid #232323;}
CSS三 平行4边形
#css3-parallelogram{
 width: 200px;
 height: 100px;
 background: #232323;
 -webkit-transform: skew(-45deg); -moz-transform:
skew(-45deg); -o-transform: skew(-45deg);
 transform: skew(-45deg);
}
CSS3 梯形
#css3-trapezoid{
 width: 100px;
 height: 0;
 border-bottom: 100px solid #232323;
 border-left: 50px solid transparent;
 border-right: 50px solid transparent;
}
CSS3 六角星
#css3-six-star{
 width: 0;
 height: 0;
 position: relative;
 border-bottom: 100px solid #232323;
 border-left: 50px solid transparent;
 border-right: 50px solid transparent;
}#css3-six-star:after{
 content: “”;
 width: 0;
 height: 0;
 position: absolute;
 left: -50px;
 top: 35px;
 border-top: 100px solid #232323;
 border-left: 50px solid transparent;
 border-right: 50px solid transparent;
}
CSS3 五角星
#css3-five-star{
 width: 0px;
 height: 0px;
 margin: 50px 0;
 position: relative;
 display: block;
 color: #232323;
 border-right: 100px solid transparent;
 border-bottom: 70px  solid #232323;
 border-left:100px solid
transparent; -moz-transform:rotate(35deg); -webkit-transform:
rotate(35deg); -ms-transform:rotate(35deg); -o-transform:rotate(35deg);
}#css3-five-star:before{
 border-bottom: 80px solid #232323;;
 border-left: 30px solid transparent;
 border-right: 30px solid transparent;
 position: absolute;
 height: 0;
 width: 0;
 top: -45px;
 left: -63px;
 display: block;
 content: ”; -webkit-transform:
rotate(-35deg); -moz-transform:rotate(-35deg); -ms-transform:rotate(-35deg); -o-transform:rotate(-35deg);
}#css3-five-star:after{
 position: absolute;
 display: block;
 color: #232323;
 top: 3px;
 left: -105px;
 width: 0px;
 height: 0px;
 border-right: 100px solid transparent;
 border-bottom: 70px solid #232323;
 border-left: 100px solid transparent; -webkit-transform:
rotate(-70deg); -moz-transform:rotate(-70deg); -ms-transform:rotate(-70deg); -o-transform:rotate(-70deg);
 content: ”;
}
CSS3 五边形
#css3-pentagon {
 position: relative;
 width: 54px;
 border-width: 50px 18px 0;
 border-style: solid;
 border-color: #232323 transparent;}#css3-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 #232323;}
CSS3 六边形
#css3-hexagon {
 width: 100px;
 height: 55px;
 background: #232323;
 position: relative;
}#css3-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 #232323; }#css3-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 #232323; }
CSS3 心形
#css3-heart {
 position: relative;
 width: 100px;
 height: 90px;
}#css3-heart:before, #css3-heart:after{
 position: absolute;
 content: “”;
 left: 50px;
 top: 0;
 width: 50px;
 height: 80px;
 background: #232323;
 -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%;
}#css3-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%;
}
CSS3 八卦
#css3-gossip {
 width: 96px;
 height: 48px;
 background: #f1f1f1;
 border-color: #232323;
 border-style: solid;
 border-width: 2px 2px 50px 2px;
 border-radius: 100%;
 position: relative;
}#css3-gossip:before{
  content: “”;
  position: absolute;
  top: 50%;
  left: 0;
  background: #f1f1f1;
  border: 18px solid #232323;
  border-radius: 100%;
  width: 12px;
  height: 12px;
}#css3-gossip:after {
 content: “”;
 position: absolute;
 top: 50%;
 left: 50%;
 background: #232323;
 border: 18px solid #f1f1f1;
 border-radius:100%;
 width: 12px;
 height: 12px;
}

必发88,
画基本图形,圆形、圆锥形、三角形等,css三圆锥形 CSS叁 圆形 #css3-circle{
width: 150px; height: 150px; border-radius: 50%; background-color:
#232323;} CSS3…

图形包含基本的矩形、圆形、椭圆、三角形、多边形,也包涵稍微复杂一点的慈爱、钻石、阴阳八卦等。当然有部分必要用到CSS三的习性,所以在您展开那篇文章的时候,小编期望你用的是firefox恐怕chrome,当然IE也能看有些的。这好,下边就一块儿来探视大家是怎么用纯CSS来画这几个图片的,假若您也感觉很感动,推荐给你的意中人呢。

CSS3

CSS叁出来后,大家有了更加宽广的施展空间,通过

  • border-radius
  • border
  • transform
  • 伪成分合营
  • gradient 渐变

大家能够作出充裕多的几何图形。

除去最常见的矩形,圆形(border-radius),上面稍微列举部分别样几何图形:

 

三角形

平凡会选拔透明的border模拟出二个三角:

.traingle { width: 0; height: 0; border-left: 50px solid transparent;
border-right: 50px solid transparent; border-bottom: 100px solid
yellowgreen; }

1
2
3
4
5
6
7
.traingle {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid yellowgreen;
}

必发88 1

1、正方形

切角

《CSS Secret》里面包车型客车主意,选择多种线性渐变完毕切角。

.notching { width: 40px; height: 40px; padding: 40px; background:
linear-gradient(135deg, transparent 15px, yellowgreen 0) top left,
linear-gradient(-135deg, transparent 15px, yellowgreen 0) top right,
linear-gradient(-45deg, transparent 15px, yellowgreen 0) bottom right,
linear-gradient(45deg, transparent 15px, yellowgreen 0) bottom left;
background-size: 50% 50%; background-repeat: no-repeat; }

1
2
3
4
5
6
7
8
9
10
11
.notching {
    width: 40px;
    height: 40px;
    padding: 40px;
    background: linear-gradient(135deg, transparent 15px, yellowgreen 0) top left,
        linear-gradient(-135deg, transparent 15px, yellowgreen 0) top right,
        linear-gradient(-45deg, transparent 15px, yellowgreen 0) bottom right,
        linear-gradient(45deg, transparent 15px, yellowgreen 0) bottom left;
    background-size: 50% 50%;
    background-repeat: no-repeat;
}

必发88 2

提及底效果: 

梯形

选择伪成分加旋转透视实现梯形:

.trapezoid{ position: relative; width: 60px; padding: 60px; }
.trapezoid::before{ content:””; position: absolute; top: 0; right: 0;
bottom: 0; left: 0; transform: perspective(20px) scaleY(1.3)
rotateX(5deg); transform-origin: bottom; background: yellowgreen; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
.trapezoid{
    position: relative;
    width: 60px;
    padding: 60px;
}
 
.trapezoid::before{
    content:"";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    transform: perspective(20px) scaleY(1.3) rotateX(5deg);
    transform-origin: bottom;
    background: yellowgreen;
}

理所当然,还有另一种更简明的办法是运用border落成,借助地点的构造三角形的点子,在矩形两侧构造三个透明的三角形:

.trapezoid { position: relative; width: 60px; border-top: 60px solid
yellowgreen; border-left: 40px solid transparent; border-right: 40px
solid transparent; }

1
2
3
4
5
6
7
.trapezoid {
    position: relative;
    width: 60px;
    border-top: 60px solid yellowgreen;
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;
}

必发88 3

 

五边形

梯形加上三角形,很轻巧就组合成三个伍边形,这里要求依赖八个伪成分落成:

.pentagon { position: relative; width: 60px; border-bottom: 60px solid
yellowgreen; border-left: 40px solid transparent; border-right: 40px
solid transparent; } .pentagon::before { content:””; position: absolute;
top: 60px; left: -40px; border-top: 60px solid yellowgreen; border-left:
70px solid transparent; border-right: 70px solid transparent; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
.pentagon {
    position: relative;
    width: 60px;
    border-bottom: 60px solid yellowgreen;
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;
}
 
.pentagon::before {
    content:"";
    position: absolute;
    top: 60px;
    left: -40px;
    border-top: 60px solid yellowgreen;
    border-left: 70px solid transparent;
    border-right: 70px solid transparent;
}

必发88 4

 CSS代码如下:

六边形

看看下边包车型大巴梯形,假设四个反方向且底边同样大小的梯形,叠加在一同,是否就能够获得1个6边形呢?

.pentagon { position: relative; width: 60px; border-bottom: 60px solid
yellowgreen; border-left: 40px solid transparent; border-right: 40px
solid transparent; } .pentagon::before { content: “”; position:
absolute; width: 60px; height: 0px; top: 60px; left: -40px; border-top:
60px solid yellowgreen; border-left: 40px solid transparent;
border-right: 40px solid transparent; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
.pentagon {
    position: relative;
    width: 60px;
    border-bottom: 60px solid yellowgreen;
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;
}
.pentagon::before {
    content: "";
    position: absolute;
    width: 60px;
    height: 0px;
    top: 60px;
    left: -40px;
    border-top: 60px solid yellowgreen;
    border-left: 40px solid transparent;
    border-right: 40px solid transparent;
}

必发88 5

复制代码

八边形

6边形都化解了,八边形也不在话下,3个矩形加上多个梯形,能够合成二个8边形。

.octagon { position: relative; width: 40px; height: 100px; background:
yellowgreen; } .octagon::before { content: “”; height: 60px; position:
absolute; top: 0; left: 40px; border-left: 30px solid yellowgreen;
border-top: 20px solid transparent; border-bottom: 20px solid
transparent; } .octagon::after { content: “”; height: 60px; position:
absolute; top: 0; left: -30px; border-right: 30px solid yellowgreen;
border-top: 20px solid transparent; border-bottom: 20px solid
transparent; }

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
.octagon {
    position: relative;
    width: 40px;
    height: 100px;
    background: yellowgreen;
}
.octagon::before {
    content: "";
    height: 60px;
    position: absolute;
    top: 0;
    left: 40px;
    border-left: 30px solid yellowgreen;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
}
.octagon::after {
    content: "";
    height: 60px;
    position: absolute;
    top: 0;
    left: -30px;
    border-right: 30px solid yellowgreen;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
}

必发88 6

代码如下:

五角星

好的,探究完多边形,大家接二连三深究X角星。

先来探望伍角星,要怎么得以完结吗?当然是一贯打出去啦 — ★☆

必发88 7

开个笑话,这里运用 三 个三角形叠加旋转在壹块达成。

.star { margin: 50px 0; position: relative; width: 0; border-right:
100px solid transparent; border-bottom: 70px solid yellowgreen;
border-left: 100px solid transparent; transform: rotate(35deg)
scale(.6); } .star:before { content: ”; position: absolute;
border-bottom: 80px solid yellowgreen; border-left: 30px solid
transparent; border-right: 30px solid transparent; top: -45px; left:
-65px; transform: rotate(-35deg); } .star:after { content: ”; position:
absolute; top: 3px; left: -105px; border-right: 100px solid transparent;
border-bottom: 70px solid yellowgreen; border-left: 100px solid
transparent; transform: rotate(-70deg); }

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
.star {
   margin: 50px 0;
   position: relative;
   width: 0;
   border-right: 100px solid transparent;
   border-bottom: 70px  solid yellowgreen;
   border-left: 100px solid transparent;
   transform: rotate(35deg) scale(.6);
}
.star:before {
    content: ”;
    position: absolute;
    border-bottom: 80px solid yellowgreen;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    top: -45px;
    left: -65px;
    transform: rotate(-35deg);
}
.star:after {
    content: ”;
    position: absolute;
    top: 3px;
    left: -105px;
    border-right: 100px solid transparent;
    border-bottom: 70px solid yellowgreen;
    border-left: 100px solid transparent;
    transform: rotate(-70deg);
}

必发88 8

#square {
width: 100px;
height: 100px;
background: red;
}

六角星

陆角星呢?想象一下,贰个升华的三角形 ▲,叠加上一个向下的三角形
▼,就能够赢得二个6边形:

.sixstar { position: relative; width: 0; border-left: 50px solid
transparent; border-right: 50px solid transparent; border-bottom: 100px
solid yellowgreen; } .sixstar:after { content: “”; position: absolute;
border-left: 50px solid transparent; border-right: 50px solid
transparent; border-top: 100px solid yellowgreen; top: 30px; left:
-50px; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.sixstar {
    position: relative;
    width: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid yellowgreen;
}
.sixstar:after {
    content: "";
    position: absolute;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-top: 100px solid yellowgreen;
top: 30px;
left: -50px;
}

必发88 9

2、长方形

八角星

8角星呢?四个角那么多吗。其实使用八个矩形进行旋转拼接就足以了。

.eightstar { position: relative; width: 100px; height: 100px;
background-color: yellowgreen; transform: rotate(30deg); }
.eightstar::before { content: “”; position: absolute; top: 0; left: 0;
width: 100px; height: 100px; transform: rotate(45deg); background-color:
yellowgreen; }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
.eightstar {
    position: relative;
    width: 100px;
    height: 100px;
    background-color: yellowgreen;
    transform: rotate(30deg);
}
 
.eightstar::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 100px;
    transform: rotate(45deg);
    background-color: yellowgreen;
}

必发88 10

 

102角星

好。最后多角星再来1个十二级角星。在8角星的基本功上,再扩展1个矩形,就可以收获102角啦。也便是要过第贰个伪成分。

.twelvestar { position: relative; width: 100px; height: 100px;
margin-bottom: 100px!important; background-color: yellowgreen;
transform: rotate(30deg); } .twelvestar::before { content: “”; position:
absolute; top: 0; left: 0; width: 100px; height: 100px; transform:
rotate(30deg); background-color: yellowgreen; } .twelvestar::after {
content: “”; position: absolute; top: 0; left: 0; width: 100px; height:
100px; transform: rotate(60deg); background-color: yellowgreen; }

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
.twelvestar {
    position: relative;
    width: 100px;
    height: 100px;
    margin-bottom: 100px!important;
    background-color: yellowgreen;
    transform: rotate(30deg);
}
 
.twelvestar::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 100px;
    transform: rotate(30deg);
    background-color: yellowgreen;
}
 
.twelvestar::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 100px;
    transform: rotate(60deg);
    background-color: yellowgreen;
}

必发88 11

最终效果: 

椭圆

终极,再来使用守旧的主意画3个椭圆,过去 CSS三 画椭圆,基本上只可以借助
border 达成。

这里运用 border 画2个蛋的形态:

.ellipse { width: 120px; height: 160px; background-color: yellowgreen;
border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; }

1
2
3
4
5
6
.ellipse {
   width: 120px;
   height: 160px;
   background-color: yellowgreen;
   border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
}

必发88 12

CodePen — CSS Shapes(CSS
几何图形)

如果您看来了这里,恭喜你,本文的正文从此处开头。

必发88 13

上边所讲述的是运用古板 CSS三的措施绘制几何图形,接下去大家将要驾驭部分更加高档的绘图几何图形的不二等秘书技。

 

clip-path

CSS
新属性 clip-path,意味裁剪路线的乐趣,让我们得以很方便的生成各样几何图形。

clip-path 通过定义特殊的门道,落成大家想要的图样。而以此途径,正是 SVG
中的 path 。

探望它的 API:

{ /* Keyword values */ clip-path: none; /* Image values */
clip-path: url(resources.svg#c1); /* Box values clip-path: fill-box;
clip-path: stroke-box; clip-path: view-box; clip-path: margin-box
clip-path: border-box clip-path: padding-box clip-path: content-box /*
Geometry values */ clip-path: inset(100px 50px); clip-path: circle(50px
at 0 100px); clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); /*
Box and geometry values combined */ clip-path: padding-box circle(50px
at 0 100px); /* Global values */ clip-path: inherit; clip-path:
initial; clip-path: unset; }

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
{
/* Keyword values */
clip-path: none;
 
/* Image values */
clip-path: url(resources.svg#c1);
 
/* Box values
clip-path: fill-box;
clip-path: stroke-box;
clip-path: view-box;
clip-path: margin-box
clip-path: border-box
clip-path: padding-box
clip-path: content-box
 
/* Geometry values */
clip-path: inset(100px 50px);
clip-path: circle(50px at 0 100px);
clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
 
/* Box and geometry values combined */
clip-path: padding-box circle(50px at 0 100px);
 
/* Global values */
clip-path: inherit;
clip-path: initial;
clip-path: unset;
}

看上去诸多,其实很好精通,假使接触过 SVG 的 path,其实正是照搬 SVG 的
path 的一些概念。换言之,假诺未有接触过 SVG,看完本文后再去学习 SVG 路径,也会分外便于上手。

依据分歧的语法,大家得以生成不相同的图样。

例如 clip-path: circle(50px at 50px 50px) 表示在要素的 (50px,
50px)处,裁剪生成三个半径为 50px 的圆。

以成分的左上角为坐标起源

而整个 clip-path 属性,最为重大的当属 polygon,能够选取 polygon 生成自由多边形。

 CSS代码如下:

复制代码

clip-path 示例

上面分别点数使用 clip-path 生成一个圆形和八个10边形。

/* 圆形 */ .circle { width: 100px; height: 100px; background-color:
yellowgreen; clip-path: circle(50px at 50px 50px); } /* 十边形 */
.polygon { width: 100px; height: 100px; background-color: yellowgreen;
clip-path: polygon(50% 0%, 80% 10%, 100% 35%, 100% 70%, 80% 90%, 50%
100%, 20% 90%, 0% 70%, 0% 35%, 20% 10%); }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* 圆形 */
.circle {
  width: 100px;
  height: 100px;
  background-color: yellowgreen;
  clip-path: circle(50px at 50px 50px);
}
 
/* 十边形 */
.polygon {
  width: 100px;
  height: 100px;
  background-color: yellowgreen;
  clip-path: polygon(50% 0%, 80% 10%, 100% 35%, 100% 70%, 80% 90%, 50% 100%, 20% 90%, 0% 70%, 0% 35%, 20% 10%);
}

必发88 14

clip-path: circle(50px at 50px 50px) 上文也讲了,表示在要素的 (50px,
50px)处,裁剪生成多个半径为 50px 的圆。

而在 clip-path: polygon(50% 0%, 80% 10%, 100% 35%, 100% 70%, 80% 90%, 50% 100%, 20% 90%, 0% 70%, 0% 35%, 20% 10%) 中,依次列出了
拾 个坐标点。大家的图纸就是各种连接那 十 个坐标点产生一个裁切图形。

本来,这里运用的是比例,也足以选取具体的数值。

代码如下:

#rectangle {
width: 200px;
height: 100px;
background: red;
}

clip-path 动画

clip-path 此外3个精锐之处在于能够实行 CSS transtion 与 CSS
animation,也正是过渡和卡通。

看多个多边形的连接切换动画。

必发88 15

CodePen 德姆o — Clip-path
多边形过渡动画

3、圆形

图形转换动画

除了这一个之外,大家还足以尝尝,将叁个总体的图纸,分割成多个小图形,那也是 clip-path 的魔力所在,纯
CSS 的图纸调换:

必发88 16

CodePen Demo — Clip-path
triangle2rect

 

clip-path 动画的受制

clip-path
动画尽管美好,可是存在一定的局限性,那就是开始展览交接的三个情景,坐标顶点的多少必须1律。

也便是借使自个儿愿意从三角形过渡到矩形。假使三角形和矩形的 clip-path 分别为:

  • 三角形:clip-path: polygon(50% 0, 0 100%, 100% 0)
  • 矩形: clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)

拓展衔接动画时候,直接从 polygon(50% 0, 0 100%, 100% 0) –> polygon(0 0, 100% 0, 100% 100%, 0 100%) 是不行的,因为是从
三 个坐标点转变成 四 个坐标点。

故此这里供给那用2个得益的主意,在三角的意味方法中,使用七个坐标点表示,当中八个坐标点进行重合就能够。也正是:

  • 三角形:clip-path: polygon(50% 0, 0 100%, 100% 0) -> clip-path: polygon(50% 0, 50% 0, 0 100%, 100% 0)

末尾效果: 

 

N边形过渡动画

万1脑洞够大,随机生成 N(N>=一千)边形,进行转换,会是怎么成效啊?

see one see:

必发88 17

CodePen Demo —
贰仟边形过渡动画

调换的眨眼间间很有爆炸的感觉。然而这里有个十分大的难题,只是随便生成了 两千个坐标点,然后使用 clip-path 将这么些坐标点连接起来,并不是符合须求的多边形。

在 VUE官网,有上面那样2个事例,四个规则的六头形进行持续的连结动画,格外酷炫:

必发88 18

VUE官方网址使用的是 SVG 完成的,这里本人有点改造了下,使用
CSS clip-path 实现:

CodePen Demo — clip-path N
polygon ,感兴趣能够看看。

 CSS代码如下:

shape-outside

最后再来看看 shape-outside,其余三个风趣的有力量转移几何图形的性质。

shape-outside 是什么?它也有营造各类几何图形的力量,可是它不得不和浮动 float 一齐行使。

即便接纳上全体限制,不过它赋予了大家一种尤其自由的图像和文字混排的本事。

先看看它的 API,看上去貌似很复杂:

{ /* Keyword values */ shape-outside: none; shape-outside: margin-box;
shape-outside: content-box; shape-outside: border-box; shape-outside:
padding-box; /* Function values */ shape-outside: circle();
shape-outside: ellipse(); shape-outside: inset(10px 10px 10px 10px);
shape-outside: polygon(10px 10px, 20px 20px, 30px 30px); /* value */
shape-outside: url(image.png); /* Gradient value */ shape-outside:
linear-gradient(45deg, rgba(255, 255, 255, 0) 150px, red 150px); /*
Global values */ shape-outside: initial; shape-outside: inherit;
shape-outside: unset; }

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
{
    /* Keyword values */
    shape-outside: none;
    shape-outside: margin-box;
    shape-outside: content-box;
    shape-outside: border-box;
    shape-outside: padding-box;
    
    /* Function values */
    shape-outside: circle();
    shape-outside: ellipse();
    shape-outside: inset(10px 10px 10px 10px);
    shape-outside: polygon(10px 10px, 20px 20px, 30px 30px);
    
    /*  value */
    shape-outside: url(image.png);
    
    /* Gradient value */
    shape-outside: linear-gradient(45deg, rgba(255, 255, 255, 0) 150px, red 150px);
    
    /* Global values */
    shape-outside: initial;
    shape-outside: inherit;
    shape-outside: unset;
}

只是,其实它和 clip-path 的语法卓殊类似,很轻松融会贯通。看看实例,更易驾驭:

世家自行去熟谙下 API,接着假如我们有上边这样的结构存在:

JavaScript

<div class=”container”> <div class=”shape-outside”> <img
src=”image.png”> </div> xxxxxxxxxxx,文字描述,xxxxxxxxx
</div>

1
2
3
4
5
6
<div class="container">
    <div class="shape-outside">
      <img src="image.png">
    </div>
    xxxxxxxxxxx,文字描述,xxxxxxxxx
</div>

概念如下 CSS:

.shape-outside { width: 160px; height: 160px; shape-outside: circle(80px
at 80px 80px); float: left; }

1
2
3
4
5
6
.shape-outside {
    width: 160px;
    height: 160px;
    shape-outside: circle(80px at 80px 80px);
    float: left;
}

注意,上面 .shape-outside 使用了变通,并且定义了 shape-outside: circle(80px at 80px 80px) ,表示在要素的
(80px, 80px) 坐标处,生成四个 80px 半径的圆。

这么,将会发出壹种图像和文字混排的机能:

必发88 19

CodePen 德姆o — 图像和文字混排
shape-outside

哦?好像没什么了不起啊?那不正是 float 的效用呢?

不,不是的,看看 float 和 加上shape-outside 后的自己检查自纠:

必发88 20

观察分裂了吧?使用了 shape-outside ,真正的落成了文字根据图片的概貌,在其周围排列。

必发88 21

上海体育场所是运用开荒者工具选拔了成效了 shape-outside 的因素,能够见到,使用了异样的铅色去标志几何图形的概况。在那个海洋蓝区域之外,文字都将能够张开排列。

复制代码

代码如下:

shape-outside 的本质

划重点,划重点,划重点。

所以,shape-outside 的面目实际上是生成几何图形,并且裁剪掉其几何图形之外周边的区域,让文字能排列在这个被裁剪区域之内。

故而,驾驭了这一个精神之后,大家再看看一些更错综复杂的图像和文字混排。

#circle {
width: 100px;
height: 100px;
background: red;
-moz-border-radius: 50px;
-webkit-border-radius: 50px;
border-radius: 50px;
}

平行4边形

必发88 22

CodePen 德姆o — 图文混排
shape-outside

4、椭圆

心形、菱形

必发88 23

CodePen 德姆o — 图像和文字混排
shape-outside

 

clip-path 与 shape-outside 的包容性

额,相比遗憾,那八个属性的包容性近年来仍处于比较狼狈的程度。感兴趣的能够看看
CANIUSE 。周详合作使用仍需努力。

就此本文所呈现的 德姆o 都是在 -webkit- 内核浏览器下完了的。

最终效果: 

最后

星罗棋布 CSS 小说汇总在本人的 Github 。

到此本文截止,假使还有啥疑点依然提出,能够多多交流,原创小说,文笔有限,才疏学浅,文中若有不正之处,万望告知。

打赏帮衬小编写出更加多好文章,多谢!

打赏笔者

 

打赏支持自个儿写出更加多好小说,多谢!

任选①种支付格局

必发88 24
必发88 25

1 赞 7 收藏 1
评论

 CSS代码如下:

关于小编:chokcoco

必发88 26

经不住大运似水,逃不过此间少年。

个人主页 ·
小编的作品 ·
63 ·
   

必发88 27

复制代码

代码如下:

#oval {
width: 200px;
height: 100px;
background: red;
-moz-border-radius: 100px / 50px;
-webkit-border-radius: 100px / 50px;
border-radius: 100px / 50px;
}

5、上三角

 

谈到底效果:

 

 

 

 

CSS代码如下:

复制代码

代码如下:

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

6、下三角

 

终极效果: 

 

 CSS代码如下:

复制代码

代码如下:

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

7、左三角

 

最后效果: 

 

 CSS代码如下:

复制代码

代码如下:

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

8、右三角

 

最终效果: 

 

 CSS代码如下:

复制代码

代码如下:

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

九、左上三角

 

最后效果: 

 

 CSS代码如下:

复制代码

代码如下:

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

拾、右上三角

 

最后效果: 

 

 CSS代码如下:

复制代码

代码如下:

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

1一、左下三角

 

最终效果: 

 

 CSS代码如下:

复制代码

代码如下:

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

1二、右下三角

 

终极效果: 

 

 CSS代码如下:

复制代码

代码如下:

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

壹三、平行四边形

 

终极效果: 

 

 CSS代码如下:

复制代码

代码如下:

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

14、梯形

 

最后效果: 

 

 CSS代码如下:

复制代码

代码如下:

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

15、六角星

 

最终效果: 

 

 

 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、五角星

 

最终效果: 

 

 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、5角大楼

 

末了效果:

 

 

 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、六边形

 

末尾效果:

 

 

 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、八角形

 

末段效果: 

 

 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、爱心

 

说起底效果: 

 

 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: 100% 100%;
-o-transform-origin: 100% 100%;
transform-origin :100% 100%;
}

二一、无穷大符号

 

末段效果:

 

 

 

 

CSS代码如下:

复制代码

代码如下:

#infinity {
position: relative;
width: 212px;
height: 100px;
}
#infinity:before,
#infinity:after {
content: “”;
position: absolute;
top: 0;
left: 0;
width: 60px;
height: 60px;
border: 20px solid red;
-moz-border-radius: 50px 50px 0 50px;
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);
}

22、鸡蛋

 

终极效果 

 

 CSS代码如下:

复制代码

代码如下:

#egg {
display:block;
width: 126px;
height: 180px;
background-color: red;
-webkit-border-radius: 63px 63px 63px 63px / 108px 108px 72px 72px;
border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
}

23、食逗人(Pac-Man)

 

最终效果: 

 

 CSS代码如下:

复制代码

代码如下:

#pacman {
width: 0px;
height: 0px;
border-right: 60px solid transparent;
border-top: 60px solid red;
border-left: 60px solid red;
border-bottom: 60px solid red;
border-top-left-radius: 60px;
border-top-right-radius: 60px;
border-bottom-left-radius: 60px;
border-bottom-right-radius: 60px;
}

二四、提醒对话框

 

终极效果:

 

 

 

 

CSS代码如下:

复制代码

代码如下:

#talkbubble {
width: 120px;
height: 80px;
background: red;
position: relative;
-moz-border-radius: 10px;
-webkit-border-radius: 10px;
border-radius: 10px;
}
#talkbubble:before {
content:””;
position: absolute;
right: 100%;
top: 26px;
width: 0;
height: 0;
border-top: 13px solid transparent;
border-right: 26px solid red;
border-bottom: 13px solid transparent;
}

25、12角星

 

最后效果: 

 

 CSS代码如下:

复制代码

代码如下:

#burst-12 {
background: red;
width: 80px;
height: 80px;
position: relative;
text-align: center;
}
#burst-12:before, #burst-12:after {
content: “”;
position: absolute;
top: 0;
left: 0;
height: 80px;
width: 80px;
background: red;
}
#burst-12:before {
-webkit-transform: rotate(30deg);
-moz-transform: rotate(30deg);
-ms-transform: rotate(30deg);
-o-transform: rotate(30deg);
transform: rotate(30deg);
}
#burst-12:after {
-webkit-transform: rotate(60deg);
-moz-transform: rotate(60deg);
-ms-transform: rotate(60deg);
-o-transform: rotate(60deg);
transform: rotate(60deg);
}

26、8角星

 

最终效果: 

 

 CSS代码如下:

复制代码

代码如下:

#burst-8 {
background: red;
width: 80px;
height: 80px;
position: relative;
text-align: center;
-webkit-transform: rotate(20deg);
-moz-transform: rotate(20deg);
-ms-transform: rotate(20deg);
-o-transform: rotate(20eg);
transform: rotate(20deg);
}
#burst-8:before {
content: “”;
position: absolute;
top: 0;
left: 0;
height: 80px;
width: 80px;
background: red;
-webkit-transform: rotate(135deg);
-moz-transform: rotate(135deg);
-ms-transform: rotate(135deg);
-o-transform: rotate(135deg);
transform: rotate(135deg);
}

27、钻石

 

最终效果: 

 

 CSS代码如下:

复制代码

代码如下:

#cut-diamond {
border-style: solid;
border-color: transparent transparent red transparent;
border-width: 0 25px 25px 25px;
height: 0;
width: 50px;
position: relative;
margin: 20px 0 50px 0;
}
#cut-diamond:after {
content: “”;
position: absolute;
top: 25px;
left: -25px;
width: 0;
height: 0;
border-style: solid;
border-color: red transparent transparent transparent;
border-width: 70px 50px 0 50px;
}

2捌、阴阳八卦(霸气的那一个)

 

 

 

 

 

CSS代码如下:

复制代码

代码如下:

#yin-yang {
width: 96px;
height: 48px;
background: #eee;
border-color: red;
border-style: solid;
border-width: 2px 2px 50px 2px;
border-radius: 100%;
position: relative;
}
#yin-yang:before {
content: “”;
position: absolute;
top: 50%;
left: 0;
background: #eee;
border: 18px solid red;
border-radius: 100%;
width: 12px;
height: 12px;
}
#yin-yang:after {
content: “”;
position: absolute;
top: 50%;
left: 50%;
background: red;
border: 18px solid #eee;
border-radius:100%;
width: 12px;
height: 12px;
}

好了,就到此处了,1共三十多少个,个人感到前面多少个相比较尖锐。那个代码的根源是css-tricks。由青藤屋博客整理,转发请保留原作链接:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图