CSS3 仿微信聊天小气泡实例代码


Posted in HTML / CSS onApril 05, 2017

今天给大家分享一个我刚做的项目中的一个小案例, 因为我们在做一个聊天的功能,之前的聊天页面UI很丑,我就不在这里展示给大家了。

现在就教大家怎么用css3制作一个和微信聊天界面一样的页面。

首先给大家看看页面的样子吧,如下图所示:

CSS3 仿微信聊天小气泡实例代码

页面大致就是这个样子,接下来我们来一起学习制作步骤吧。

第一部分: HTML  

<div class="leftd">

    <span ng-class="leftd_h">

        <img ng-src="./img/c_pic.pn" />

    </span>

    <div class="speech left" ng-class="speech left"> 

        二货,你看你傻样!

    </div>

</div>

<div class="rightd">

    <span ng-class="rightd_h">

        <img ng-src="./img/u_pic.pn" />

    </span>

    <div class="speech right" ng-class="speech left"> 

        嘻嘻嘻嘻。。。。。。

    </div>

</div>

<div class="leftd">

    <span ng-class="leftd_h">

        <img ng-src="./img/c_pic.pn" />

    </span>

    <div class="speech left" ng-class="speech left"> 

        笑什么笑,没看到本宝宝今天变漂亮了吗?

    </div>

</div>

<div class="rightd">

    <span ng-class="rightd_h">

        <img ng-src="./img/u_pic.pn" />

    </span>

    <div class="speech right" ng-class="speech left"> 

         不不不,每天你都很漂亮的啦!

    </div>

</div>

第二部分: CSS3

PS(这里也算是最重要的部分了我就把全部的代码都展示出来吧!) 

/* 微信气泡 */

div.speech {

    float: left;

    margin: 10px 0;

    padding: 8px;

    table-layout: fixed;

    word-break: break-all;

    position: relative;

    background: -webkit-gradient( linear, 50% 0%, 50% 100%, from(#ffffff), color-stop(0.1, #ececec), color-stop(0.5, #dbdbdb), color-stop(0.9, #dcdcdc), to(#8c8c8c) );

    border: 1px solid #989898;

    border-radius: 8px;

}

div.speech:before {

    content: '';

    position: absolute;

    width: 0;

    height: 0;

    left: 15px;

    top: -20px;

    border: 10px solid;

    border-color: transparent transparent #989898 transparent;

}

div.speech:after {

 content: '';

 position: absolute;

 width: 0;

 height: 0;

 left: 17px;

 top: -16px;

 border: 8px solid;

 border-color: transparent transparent #ffffff transparent;

}

div.speech.right {

 display: inline-block;

 box-shadow: -2px 2px 5px #CCC;

 margin-right: 10px;

 max-width: 75%;

 float: right;

 background: -webkit-gradient( linear, 50% 0%, 50% 100%, from(#e4ffa7), color-stop(0.1, #bced50), color-stop(0.4, #aed943), color-stop(0.8, #a7d143), to(#99BF40) );

}

div.speech.right:before {

 content: '';

 position: absolute;

 width: 0;

 height: 0;

 top: 9px;

 bottom: auto;

 left: auto;

 right: -10px;

 border-width: 9px 0 9px 10px;

 border-color: transparent #989898;

}

div.speech.right:after {

 content: '';

 position: absolute;

 width: 0;

 height: 0;

 top: 10px;

 bottom: auto;

 left: auto;

 right: -8px;

 border-width: 8px 0 8px 9px;

 border-color: transparent #bced50;

}

div .left {

 display: inline-block;

 box-shadow: 2px 2px 2px #CCCCCC;

 margin-left: 10px;

 max-width: 75%;

 position: relative;

 background: -webkit-gradient( linear, 50% 0%, 50% 100%, from(#ffffff), color-stop(0.1, #eae8e8), color-stop(0.4, #E3E3E3), color-stop(0.8, #DFDFDF), to(#D9D9D9) );

}

div .left:before {

 content: '';

 position: absolute;

 width: 0;

 height: 0;

 top: 9px;

 bottom: auto;

 left: -10px;

 border-width: 9px 10px 9px 0;

 border-color: transparent #989898;

}

div .left:after {

 content: '';

 position: absolute;

 width: 0;

 height: 0;

 top: 10px;

 bottom: auto;

 left: -8px;

 border-width: 8px 9px 8px 0;

 border-color: transparent #eae8e8;

}

.leftimg {

 float: left;

 margin-top: 10px;

}

.rightimg {

 float: right;

 margin-top: 10px;

}

.leftd {

 clear: both;

 float: left;

 margin-left: 10px;

}

.rightd {

 clear: both;

 float: right;

 margin-right: 10px;

}

 

.leftd_h{

 width: 39px;

 height: 39px;

 border-radius: 100%;

 display: block;

 float: left;

 overflow: hidden;

}

 

.leftd_h img{

 display: block;

 width: 100%;

 height: auto;

}

.rightd_h{

 width: 39px;

 height: 39px;

 border-radius: 100%;

 display: block;

 float: right;

 overflow: hidden;

}

 

.rightd_h img{

 display: block;

 width: 100%;

 height: auto;

}

这里基本是上用了CSS伪类元素,来制作的小气泡。网上有很多的案例都是吧用户聊天的头像作为背景图,但是我感觉这样子在实际项目中,并不是很合适,所以我就做了一些修改,然我们更加实用。

以上的代码就是小气泡的全部代码,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木.

HTML / CSS 相关文章推荐
利用CSS3的定位页面元素
Aug 29 HTML / CSS
CSS3 Columns分列式布局方法简介
May 03 HTML / CSS
CSS3实现10种Loading效果
Jul 11 HTML / CSS
HTML5等待加载动画效果
Jul 27 HTML / CSS
网易微博Web App用HTML5开发的过程介绍
Jun 13 HTML / CSS
HTML5注册页面示例代码
Mar 27 HTML / CSS
实例教程 HTML5 Canvas 超炫酷烟花绽放动画实现代码
Nov 05 HTML / CSS
html5+svg学习指南之SVG基础知识
Dec 17 HTML / CSS
检测浏览器对HTML5和CSS3支持度的方法
Jun 25 HTML / CSS
Html5在手机端调用相机的方法实现
May 13 HTML / CSS
canvas画图被放大且模糊的解决方法
Aug 11 HTML / CSS
CSS link与@import的区别和用法解析
May 07 HTML / CSS
CSS3效果:自定义“W”形运行轨迹实例
Mar 29 #HTML / CSS
详解CSS3中字体平滑处理和抗锯齿渲染
Mar 29 #HTML / CSS
CSS3制作hover下划线动画
Mar 27 #HTML / CSS
利用CSS3制作简单的3d半透明立方体图片展示
Mar 25 #HTML / CSS
利用CSS3实现进度条的两种姿势详解
Mar 21 #HTML / CSS
CSS3实现头像旋转效果
Mar 13 #HTML / CSS
用React加CSS3实现微信拆红包动画效果
Mar 13 #HTML / CSS
You might like
一个查看session内容的函数
2006/10/09 PHP
PHP 文件上传进度条的两种实现方法的代码
2007/11/25 PHP
destoon实现公司新闻详细页添加评论功能的方法
2014/07/15 PHP
注意!PHP 7中不要做的10件事
2016/09/18 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
2013/01/29 Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
2014/05/27 Javascript
javascript二维数组转置实例
2015/01/22 Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
2015/02/04 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
2015/03/20 Javascript
AngularJS单选框及多选框实现双向动态绑定
2016/01/13 Javascript
js省市县三级联动效果实例
2020/04/15 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
浅谈js中的变量名和函数名重名
2017/02/13 Javascript
js实现数组去重方法及效率?Ρ? target=
2017/02/14 Javascript
JQuery中Ajax的操作完整例子
2017/03/07 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
JS实现匀速与减速缓慢运动的动画效果封装示例
2018/08/27 Javascript
JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作整理总结
2019/06/27 Javascript
python web.py开发httpserver解决跨域问题实例解析
2018/02/12 Python
浅谈解除装饰器作用(python3新增)
2018/10/15 Python
python3学生名片管理v2.0版
2018/11/29 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
python模拟哔哩哔哩滑块登入验证的实现
2020/04/24 Python
搭建pypi私有仓库实现过程详解
2020/11/25 Python
Intersport西班牙:在线体育商店
2019/11/06 全球购物
英语专业应届生求职信范文
2013/11/15 职场文书
省级四好少年事迹材料
2014/01/25 职场文书
离职报告格式
2014/11/04 职场文书
工作期间打牌检讨书范文
2014/11/20 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
师范生教育见习总结
2015/06/23 职场文书
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL
MySQL去除密码登录告警的方法
2022/04/20 MySQL