【HTML5】实现QQ聊天气泡效果
2017-04-13 17:57
579 查看
今天自己用 HTML/CSS 做了个类似QQ的聊天气泡,以下是效果图:
![](http://img.blog.csdn.net/20140823183357468)
以下说下关键地方的样式设置。然后贴出html和css代码(不多)。
步骤1:布局
消息採用div+float布局,每条消息用一个DIV标签包裹,里面再放两个DIV分别用来包裹用户图标和用户消息内容。
左側消息,先清除浮动,然后设置 float:left。这样用户图标和消息内容就能够显示在同一行了,当中用户图标在左边,消息内容紧邻着用户图标。
右側消息,相同先清除浮动。然后设置 float:right,这样用户图标和消息显示在同一行了。当中图标在最右边。图标左側是消息。
![](http://img.blog.csdn.net/20140823183403921)
步骤2:设置圆角矩形
![](http://img.blog.csdn.net/20140823183555808)
步骤3:三角形箭头
将DIV的宽度和高度设置为0,设置边框宽度,能够使其表现出一个由四个三角形组成的矩形,每一个三角形的颜色和大小能够通过设置border宽度和颜色设置。
这里将当中三个三角形颜色设置为透明。仅仅留下一个三角形可见。
![](http://img.blog.csdn.net/20140823183420062)
![](http://img.blog.csdn.net/20140823183607072)
关键点4:三角形尾随矩形框
使用相对定位。能够使三角形始终固定在矩形框的边上。
![](http://img.blog.csdn.net/20140823183357468)
所有代码:
以下说下关键地方的样式设置。然后贴出html和css代码(不多)。
步骤1:布局
消息採用div+float布局,每条消息用一个DIV标签包裹,里面再放两个DIV分别用来包裹用户图标和用户消息内容。
左側消息,先清除浮动,然后设置 float:left。这样用户图标和消息内容就能够显示在同一行了,当中用户图标在左边,消息内容紧邻着用户图标。
右側消息,相同先清除浮动。然后设置 float:right,这样用户图标和消息显示在同一行了。当中图标在最右边。图标左側是消息。
步骤2:设置圆角矩形
border-radius:7px;
步骤3:三角形箭头
将DIV的宽度和高度设置为0,设置边框宽度,能够使其表现出一个由四个三角形组成的矩形,每一个三角形的颜色和大小能够通过设置border宽度和颜色设置。
这里将当中三个三角形颜色设置为透明。仅仅留下一个三角形可见。
.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; }
关键点4:三角形尾随矩形框
使用相对定位。能够使三角形始终固定在矩形框的边上。
position:relative;
所有代码:
<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>
相关文章推荐
- html5 实现qq聊天的气泡效果
- 【HTML5】简单实现QQ聊天气泡效果
- 【HTML5】实现QQ聊天气泡效果
- Qt+html+JavaScript实现类似QQ聊天界面的气泡效果
- WindowLess RichEdit 实现QQ聊天窗口的气泡效果,设计思路和方法。
- C#+ html 实现类似QQ聊天界面的气泡效果
- 实现QQ聊天气泡效果
- 使用css实现QQ聊天气泡效果
- 用border-image实现QQ气泡聊天窗效果
- Java Swing实现的仿QQ气泡消息聊天窗口效果
- HTML5实现微信聊天气泡效果
- winform实现QQ聊天气泡200行代码
- resizableImageWithCapInsets实现登录按钮、胶囊tab按钮和聊天气泡贴图效果
- Android使用贝塞尔线高仿QQ聊天消息气泡的拖拽效果
- iOS 类似微信,QQ聊天界面的气泡聊天简单实现Demo
- 实现仿照微信聊天气泡里显示图片效果的自定义View
- android 仿微信聊天气泡效果实现思路
- 每天android分享: 聊天气泡效果的实现自动拉伸。
- 仿微信聊天气泡效果实现,有源代码(一)
- resizableImageWithCapInsets实现登录按钮、胶囊tab按钮和聊天气泡贴图效果