今天自己用 HTML/CSS 做了個(gè)類似QQ的聊天氣泡,以下是效果圖:
以下說下關(guān)鍵地方的樣式設(shè)置。然后貼出html和css代碼(不多)。
步驟1:布局
消息採用div+float布局,每條消息用一個(gè)DIV標(biāo)簽包裹,里面再放兩個(gè)DIV分別用來包裹用戶圖標(biāo)和用戶消息內(nèi)容。左側(cè)消息,先清除浮動(dòng),然后設(shè)置 float:left。這樣用戶圖標(biāo)和消息內(nèi)容就能夠顯示在同一行了,當(dāng)中用戶圖標(biāo)在左邊,消息內(nèi)容緊鄰著用戶圖標(biāo)。
右側(cè)消息,相同先清除浮動(dòng)。然后設(shè)置 float:right,這樣用戶圖標(biāo)和消息顯示在同一行了。當(dāng)中圖標(biāo)在最右邊。圖標(biāo)左側(cè)是消息。
步驟2:設(shè)置圓角矩形
border-radius:7px;
步驟3:三角形箭頭
&n
將DIV的寬度和高度設(shè)置為0,設(shè)置邊框?qū)挾龋軌蚴蛊浔憩F(xiàn)出一個(gè)由四個(gè)三角形組成的矩形,每一個(gè)三角形的顏色和大小能夠通過設(shè)置border寬度和顏色設(shè)置。
這里將當(dāng)中三個(gè)三角形顏色設(shè)置為透明。僅僅留下一個(gè)三角形可見。
.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ì)定位。能夠使三角形始終固定在矩形框的邊上。
所有代碼:
<html>
<head>
<style>
/* bubble style */
.sender{
clear:both;
}
.sender div:nth-of-type(1){
float: left;
}
.sender div:nth-of-type(2){
background-color: aquamarine;
float: left;
margin: 0 20px 10px 15px;
padding: 10px 10px 10px 0px;
border-radius:7px;
}
.receiver div:first-child img,
.sender div:first-child img{
width:50px;
height: 50px;
}
.receiver{
clear:both;
}
.receiver div:nth-child(1){
float: right;
}
.receiver div: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 -->
<div class="sender">
<div>
<img src="chatTemplateExample2_files/cat.jpg">
</div>
<div>
<div class="left_triangle"></div>
<span> hello, man! </span>
</div>
</div>
<!-- Right -->
<div class="receiver">
<div>
<img src="chatTemplateExample2_files/cat.jpg">
</div>
<div>
<div class="right_triangle"></div>
<span> hello world </span>
</div>
</div>
</body>
</html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。