純css 畫氣泡

  咱們知道運用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>

 

效果圖:

相關文章
相關標籤/搜索