咱们知道运用css能够绘画出各式各样的形状:三角形,圆形,正方形,椭圆形,平行四边形等等,而经过他们之间进行两两组合能够变换出各类意想不到的效果图,气泡框就是其中一个。最简单的气泡框就是一个矩形框+一个三角框。css
咱们先来看看用css如何画三角形:spa
css绘三角形之 border方法code
先画一个100*100的矩形,给他四边加上不一样颜色的边框。代码以下:blog
.demo{ width:100px; height:100px; border:50px solid ;border-color:red pink yellow grey}
<div class="demo"></div>
效果图:it
这时候咱们看到中间的白色矩形就是div的内容区域块,可是当咱们将div的宽高设置为0时:io
.demo{ width:0px; height:0px; border:100px solid ;border-color:red pink yellow grey;margin:50px auto}
效果以下:class
咱们想要的三角形出现了。当咱们想得到其中的特定方向的一个三角形时,只需将另外三边的边框颜色设置成透明便可。代码以下:方法
.demo{width:0px;height:0px;border:100px solid;border-color:red transparent transparent transparent;margin:50px auto}
效果图:im
此外,将相邻两边设置相同颜色还能绘出直角三角形:d3
.demo{ width:00px; height:0px; border:100px solid ;border-color:red red yellow yellow;margin:50px auto; }
效果图:
有了各类各样的三角形再运用绝对定位接下来绘气泡就简单了:
代码以下:
.demo{ width:260px; height:100px; border:10px solid #abc;margin:50px auto;position:relative}
.demo span{position:absolute; left:60px;bottom:-50px;
border:20px solid;border-color:#abc transparent transparent transparent}
效果图:
这时候三角形是实心的不是咱们想要的结果,咱们能够经过叠加一个同内容背景颜色相同的行内元素strong来实现咱们想要的效果:
.demo{ width:260px; height:100px; border:10px solid #abc;margin:50px auto;position:relative} .demo strong{position:absolute; left:60px;bottom:-40px;
border:20px solid;border-color:white transparent transparent transparent} .demo span{position:absolute; left:60px;bottom:-50px;
border:20px solid;border-color:#abc transparent transparent transparent} <div class="demo"> <span></span> <strong></strong></div>
效果图: