Css绘制形状

前言:终于个人大一辈子活结束了,迎来了愉快的暑假,你们都开始了各自的忙碌。一直忙着一些项目的事情,终于决定今天要更新一篇博客了,对上一阶段的学习作简单的总结。css

  此次我主要总结一下用Css绘制各类形状的技巧,同时要结合before、after伪元素和定位作出一些效果。html

  

  Triangle Up(向上的三角形)

   

复制代码
1 #triangle-up{
2    width: 0;
3     height:0;
4     border-left:50px solid transparent;
5     border-right: 50px solid transparent;
6     border-bottom: 70px solid #81cfa2;
7  }
复制代码

     

  Triangle Down(向下的三角形)

  

复制代码
1 #triangle-down {
2      width: 0;
3      height: 0;
4      border-left: 50px solid transparent;
5      border-right: 50px solid transparent;
6      border-top: 70px solid #81cfa2;
7  }
复制代码

   

  Triangle Left(向左的三角形)

  

 

复制代码
#triangle-left{
       width: 0;
       height:0;
       border-right: 70px solid #81cfa2;
       border-top: 50px solid transparent;
       border-bottom:50px solid transparent;
}
复制代码

    

  Triangle TopRight(向右上的三角形)

 

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

  三角形实现比较简单,同理能够获得一些其余的三角形,绘制三角形主要是另宽高都为0,而后利用transparent设置其余部分透明。

可是要学会在本身的项目中结合before和after伪元素以及定位作出一些组合效果,好比我正在作的Oppo社区的一个项目(个人这个作Gif的软件有些问题)

  

  这里我贴上导航栏处绘制三角形的代码

  okaychen

   可是值得注意的一点事IE6不支持transparent属性,可是咱们能够经过设置对应的透明边框的border-style属性为dotted或是dashed便可解决这一问题。node

   接下来,我在总结几个经常使用的Css绘制的形状(结合before和after伪元素):

       Talk Bubble(聊天框)

  

复制代码
 1 #talkBubble{
 2     width: 120px;
 3     height: 80px;
 4     background: #81cfa2;
 5     position: relative;
 6     border-radius: 10px;
 7     -webkit-border-radius: 10px;
 8     -moz-border-radius: 10px;
 9 }
10 #talkBubble:before{
11     content: "";
12     position: absolute;
13     right: 100%;
14     top: 26px;
15     width: 0;
16     height: 0;
17     border-top: 13px solid transparent;
18     border-right: 26px solid #81cfa2;
19     border-bottom: 13px solid transparent;
20 }
复制代码

 

   Heart(心形)

复制代码
 1 #Heart {
 2         position: relative;
 3         width: 100%;
 4         height: 90px;
 5     }
 6     
 7     #Heart:before,
 8     #Heart:after {
 9         content: "";
10         position: absolute;
11         left: 50px;
12         top: 0;
13         width: 50px;
14         height: 80px;
15         background: #FE4C40;
16         -moz-border-radius: 50px 50px 0 0;
17         border-radius: 50px 50px 0 0;
18         -webkit-transform: rotate(-45deg);
19         -moz-transform: rotate(-45deg);
20         transform: rotate(-45deg);
21         -webkit-transform-origin: 0 100%;
22         -moz-transform-origin: 0 100%;
23         transform-origin: 0 100%;
24     }
25     
26     #Heart:after {
27         left: 0;
28         -webkit-transform: rotate(45deg);
29         -moz-transform: rotate(45deg);
30         transform: rotate(45deg);
31         -webkit-transform-origin: 100% 100%;
32         -moz-transform-origin: 100% 100%;
33         transform-origin: 100% 100%;
34     }
复制代码

    

css能够绘制不少你想不到形状,熟练掌握一些经常使用的css绘制图形的技巧可让你在项目中游刃有余。web

下一阶段我把重点仍然放在node的学习,不急不躁:但愿这个暑假我有能力总结出一篇node的博客,而不是只有在makedown上的一大片笔记。post

 

相关文章
相关标签/搜索