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轻松实现圆角效果
Nov 09 HTML / CSS
详解CSS3浏览器兼容
Dec 14 HTML / CSS
使用 css3 实现圆形进度条的示例
Jul 05 HTML / CSS
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
Mar 14 HTML / CSS
值得收藏的HTML5资源(学习html5的朋友可以收藏下)
Jul 20 HTML / CSS
HTML5实践-图片设置成灰度图
Nov 12 HTML / CSS
html5本地存储之localstorage 、本地数据库、sessionStorage简单使用示例
May 08 HTML / CSS
Html5新特性用canvas标签画多条直线附效果截图
Jun 30 HTML / CSS
用HTML5实现鼠标滚轮事件放大缩小图片的功能
Jun 25 HTML / CSS
amazeui 验证按钮扩展的实现
Aug 21 HTML / CSS
详解HTML5布局和HTML5标签
Oct 26 HTML / CSS
浅谈CSS不规则边框的生成方案
May 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
Extjs学习过程中新手容易碰到的低级错误积累
2010/02/11 Javascript
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
页面加载完后自动执行一个方法的js代码
2014/09/06 Javascript
angularJS提交表单(form)
2015/02/09 Javascript
基于jquery实现省市区三级联动效果
2015/12/25 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
input file上传 图片预览功能实例代码
2016/10/25 Javascript
JS创建对象的写法示例
2016/11/04 Javascript
支持移动端原生js轮播图
2017/02/16 Javascript
详解vue2路由vue-router配置(懒加载)
2017/04/08 Javascript
快速掌握jquery分页插件jqPaginator的使用方法
2017/08/09 jQuery
js实现可以点击收缩或张开的悬浮窗
2017/09/18 Javascript
深入研究React中setState源码
2017/11/17 Javascript
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
2018/04/26 jQuery
jQuery实现的简单对话框拖动功能示例
2018/06/05 jQuery
VUE-Table上绑定Input通过render实现双向绑定数据的示例
2018/08/27 Javascript
JS document对象简单用法完整示例
2020/01/14 Javascript
python3下实现搜狗AI API的代码示例
2018/04/10 Python
python高阶爬虫实战分析
2018/07/29 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
Flask配置Cors跨域的实现
2019/07/12 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
护士见习期自我鉴定
2014/02/08 职场文书
大学生活动策划方案
2014/02/10 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
组工干部对照检查材料
2014/08/25 职场文书
党员民主生活会个人整改措施材料
2014/09/16 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
同学聚会感言一句话
2015/07/30 职场文书
导游词之沈阳清昭陵
2019/12/28 职场文书
MySQL系列之九 mysql查询缓存及索引
2021/07/02 MySQL
python中pd.cut()与pd.qcut()的对比及示例
2022/06/16 Python