這篇文章主要介紹了HTML5實(shí)現(xiàn)QQ聊天氣泡效果,用 HTML/CSS 做了個(gè)類(lèi)似QQ的聊天氣泡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
今天自己用 HTML/CSS 做了個(gè)類(lèi)似QQ的聊天氣泡,以下是效果圖:
以下說(shuō)下關(guān)鍵地方的樣式設(shè)置。然后貼出html和css代碼(不多)。
步驟1:布局
消息採(cǎi)用p+float布局,每條消息用一個(gè)p標(biāo)簽包裹,里面再放兩個(gè)p分別用來(lái)包裹用戶(hù)圖標(biāo)和用戶(hù)消息內(nèi)容。左側(cè)消息,先清除浮動(dòng),然后設(shè)置 float:left。這樣用戶(hù)圖標(biāo)和消息內(nèi)容就能夠顯示在同一行了,當(dāng)中用戶(hù)圖標(biāo)在左邊,消息內(nèi)容緊鄰著用戶(hù)圖標(biāo)。
右側(cè)消息,相同先清除浮動(dòng)。然后設(shè)置 float:right,這樣用戶(hù)圖標(biāo)和消息顯示在同一行了。當(dāng)中圖標(biāo)在最右邊。圖標(biāo)左側(cè)是消息。
步驟2:設(shè)置圓角矩形
border-radius:7px;
步驟3:三角形箭頭
&n
將p的寬度和高度設(shè)置為0,設(shè)置邊框?qū)挾?,能夠使其表現(xiàn)出一個(gè)由四個(gè)三角形組成的矩形,每一個(gè)三角形的顏色和大小能夠通過(guò)設(shè)置border寬度和顏色設(shè)置。
這里將當(dāng)中三個(gè)三角形顏色設(shè)置為透明。僅僅留下一個(gè)三角形可見(jiàn)。
.triangle{ width: 0px; height: 0px; border-width: 15px; border-style: solid; border-color: red blue green gold; }
.triangle{ width: 0px; height: 0px; border-width: 15px; border-style: solid; border-color: transparent transparent transparent red; }
關(guān)鍵點(diǎn)4:三角形尾隨矩形框
使用相對(duì)定位。能夠使三角形始終固定在矩形框的邊上。
position:relative;
所有代碼:
<html> <head> <style> /* bubble style */ .sender{ clear:both; } .sender p:nth-of-type(1){ float: left; } .sender p:nth-of-type(2){ background-color: aquamarine; float: left; margin: 0 20px 10px 15px; padding: 10px 10px 10px 0px; border-radius:7px; } .receiver p:first-child img, .sender p:first-child img{ width:50px; height: 50px; } .receiver{ clear:both; } .receiver p:nth-child(1){ float: right; } .receiver p:nth-of-type(2){ float:right; background-color: gold; margin: 0 10px 10px 20px; padding: 10px 0px 10px 10px; border-radius:7px; } .left_triangle{ height:0px; width:0px; border-width:8px; border-style:solid; border-color:transparent aquamarine transparent transparent; position: relative; left:-16px; top:3px; } .right_triangle{ height:0px; width:0px; border-width:8px; border-style:solid; border-color:transparent transparent transparent gold; position: relative; right:-16px; top:3px; } </style> </head> <body> <!-- Left --> <p class="sender"> <p> <img src="chatTemplateExample2_files/cat.jpg"> </p> <p> <p class="left_triangle"></p> <span> hello, man! </span> </p> </p> <!-- Right --> <p class="receiver"> <p> <img src="chatTemplateExample2_files/cat.jpg"> </p> <p> <p class="right_triangle"></p> <span> hello world </span> </p> </p> </body> </html>