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背景_动力节点Java学院整理
Jul 11 HTML / CSS
CSS3中的5个有趣的新技术
Apr 02 HTML / CSS
基于CSS3实现的漂亮Menu菜单效果代码
Sep 10 HTML / CSS
Html5实现单张、多张图片上传功能
Apr 28 HTML / CSS
html5拖曳操作 HTML5实现网页元素的拖放操作
Jan 02 HTML / CSS
在html5的Canvas上绘制椭圆的几种方法总结
Jan 07 HTML / CSS
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
Jun 09 HTML / CSS
html5弹跳球示例代码
Jul 23 HTML / CSS
详解HTML5中表单验证的8种方法介绍
Dec 19 HTML / CSS
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
Mar 02 HTML / CSS
浅谈HTML5中dialog元素尝鲜
Oct 15 HTML / CSS
HTML5自定义视频播放器源码
Jan 06 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
Admin generator, filters and I18n
2011/10/06 PHP
用php来限制每个ip每天浏览页面数量的实现思路
2015/02/24 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
2015/10/15 PHP
JavaScript中Math对象使用说明
2008/01/16 Javascript
JavaScript 三种不同位置代码的写法
2009/10/25 Javascript
浅析Prototype的模板类 Template
2011/12/07 Javascript
jQuery 插件仿百度搜索框智能提示(带Value值)
2013/01/22 Javascript
有关jQuery中parent()和siblings()的小问题
2016/06/01 Javascript
JavaScript对象创建模式实例汇总
2016/10/03 Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
2016/11/26 Javascript
javascript中apply/call和bind的使用
2017/02/15 Javascript
jQuery获取table下某一行某一列的值实现代码
2017/04/07 jQuery
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
Laravel admin实现消息提醒、播放音频功能
2019/07/10 Javascript
微信小程序判断用户是否需要再次授权获取个人信息
2019/07/18 Javascript
layui实现下拉复选功能的例子(包括数据的回显与上传)
2019/09/24 Javascript
vue实现路由不变的情况下,刷新页面操作示例
2020/02/02 Javascript
vue.config.js中配置Vue的路径别名的方法
2020/02/11 Javascript
vue中利用iscroll.js解决pc端滚动问题
2020/02/15 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
[01:04:09]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第二场 2月2日
2021/03/11 DOTA
python通过scapy获取局域网所有主机mac地址示例
2014/05/04 Python
python 上下文管理器使用方法小结
2017/10/10 Python
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
wxpython实现图书管理系统
2018/03/12 Python
python:print格式化输出到文件的实例
2018/05/14 Python
Python socket实现的简单通信功能示例
2018/08/21 Python
python实现扫描ip地址的小程序
2019/04/16 Python
Python高级编程之继承问题详解(super与mro)
2019/11/19 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
Python常用库大全及简要说明
2020/01/17 Python
Python多进程编程常用方法解析
2020/03/26 Python
一封普通求职者的求职信
2013/11/20 职场文书
企业领导班子四风对照检查材料
2014/09/27 职场文书
如何解决.cuda()加载用时很长的问题
2021/05/24 Python