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 旋转按钮 使用CSS3创建一个旋转可变色按钮
Dec 31 HTML / CSS
一款纯css3实现的非常实用的鼠标悬停特效演示
Nov 05 HTML / CSS
详解CSS3选择器的使用方法汇总
Nov 24 HTML / CSS
css3 伪类选择器快速复习小结
Sep 10 HTML / CSS
CSS3制作皮卡丘动画壁纸的示例
Nov 02 HTML / CSS
html5构建触屏网站之touch事件介绍
Jan 07 HTML / CSS
Html5页面中的返回实现的方法
Feb 26 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
Jul 12 HTML / CSS
解析浏览器的一些“滚动”行为鉴赏
Sep 16 HTML / CSS
移动端HTML5 input常见问题(小结)
Sep 28 HTML / CSS
CSS实现多个元素在盒子内两端对齐效果
Mar 30 HTML / CSS
css3 实现文字闪烁效果的三种方式示例代码
Apr 25 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
php生成缩略图的类代码
2008/10/02 PHP
PHP 八种基本的数据类型小结
2011/06/01 PHP
php设计模式 Delegation(委托模式)
2011/06/26 PHP
Ping服务的php实现方法,让网站快速被收录
2012/02/04 PHP
php的array数组和使用实例简明教程(容易理解)
2014/03/20 PHP
php使用json_encode对变量json编码
2014/04/07 PHP
摘自织梦CMS的HTTP文件下载类
2015/08/08 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
PHP入门教程之会话控制技巧(cookie与session)
2016/09/11 PHP
PHP面向对象类型约束用法分析
2019/06/12 PHP
js利用Array.splice实现Array的insert/remove
2009/01/13 Javascript
基于jQuery的Spin Button自定义文本框数值自增或自减
2010/07/17 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
2013/10/09 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
javascript宿主对象之window.navigator详解
2016/09/07 Javascript
AngularJS指令与控制器之间的交互功能示例
2016/12/14 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
vue配置请求本地json数据的方法
2018/04/11 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
微信小程序列表时间戳转换实现过程解析
2019/10/12 Javascript
Python ljust rjust center输出
2008/09/06 Python
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
详解python eval函数的妙用
2017/11/16 Python
python八大排序算法速度实例对比
2017/12/06 Python
PyQt实现界面翻转切换效果
2018/04/20 Python
为什么Python中没有&quot;a++&quot;这种写法
2018/11/27 Python
Python基本socket通信控制操作示例
2019/01/30 Python
Python 中判断列表是否为空的方法
2019/11/24 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
师德师风自我评价范文
2014/09/11 职场文书
2015年综治宣传月活动总结
2015/03/25 职场文书
Python可视化神器pyecharts绘制地理图表
2022/07/07 Python