方法1:实现这种扁平化的气泡对话框只需用行内块元素+伪类做小三角即可

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body style="background: #eee;"><style>.pp1 span{background-color: #fff;padding: 5px 8px;display: inline-block;border-radius: 4px;margin:10px 0 10px 10px;position: relative;}.pp1 span::after{content: '';border: 8px solid #ffffff00;border-right: 8px solid #fff;position: absolute;top: 6px;left: -16px;}</style><div class="pp1"><span>文本文本文本文本</span><span>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本</span></div>
</body>
</html>

这里小三角的实现知识点是border的运用,如下样式会得到这样的图形
border-top: 20px solid red;
border-right: 20px solid yellow;
border-bottom: 20px solid blue;
border-left: 20px solid green;

方法2:绘制带边框的气泡对话框


这个很简单,个人比较推荐这种方法,而且可以加各种小角,几乎没有限制,
绘制一个带边框的对话框+小角的图片定位好即可,
这里注意小角的图片制作时要多点白底,用来遮住对话框的边,
这一部分白底要多1到2像素,用来遮住对话框的边,
实际留白要看对话框的边框宽度,我这里是1像素,所以我多留了2像素的白,
如下所示(为了看的清楚加了黄色底):

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body style="background: #eee;"><style>.pp2 p{position: relative;margin: 0;}.pp2 span{background-color: #fff;padding: 5px 8px;display: inline-block;border-radius: 4px;margin-left:7px;border: 1px solid #999;}.pp2 img{position: absolute;top: 6px;left: 1px;}</style><div class="pp2"><p><span>文本文本文本文本</span><img src="jjj.png" width="9" alt=""></p><br><p><span>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本</span><img src="jjj.png" width="8" alt=""></p><br></div>
</body>
</html>

方法3:使用了border-image,中间遇到了很多坑,不太推荐使用,效果如下:


代码如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title>
</head>
<body style="background: #eee;"><style>.pp3 span{display: inline-block;border-top: 32px solid transparent;border-right: 10px solid transparent;border-bottom: 10px solid transparent;border-left: 20px solid transparent;border-image: url(aa.png) 32 10 10 20 round;margin: 10px 0;}.pp3 i{display: inline-block;margin-top: -22px;background-color: #fff;float: left;font-style: normal;}</style><div class="pp3"><span><i>文本文本文本文本</i></span><span><i>文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本文本</i></span></div>
</body>
</html>

关于border-image的知识请自行百度,最重要的是图片的制作,以及border值得设置:

border-top: 32px solid transparent;
border-right: 10px solid transparent;
border-bottom: 10px solid transparent;
border-left: 20px solid transparent;
border-image: url(aa.png) 32 10 10 20 round;

数值顺序是上右下左四条线分别到边的距离,注意border-image的数值没有单位.

这里碰到的

要着重说一下,本来想的是直接在span里写文字,结果碰到了如下图中所示的问题:
文字被border顶下来了


这时想到的是在span里在套一层,让后用margin-top负值拉上去,然后也确实拉上去了,但是只有多行文本拉上去了,单行的还是老样子,如下所示:

这是什么情况?然后我把文本都删掉就变成这这样子:
这是啥情况,里面明明啥文字也没有了,咋还这么高?
然后我把span里面的i标签也删掉,就变成了这个样子:

原来是里面的元素把span给撑起来了,只有一行文本的时候,margin-top负值起不到作用了,因为只要span里有标签,那它最低也就那么高了,不能更低了
到这里,我卡住了,不知道该咋弄了,于是把能想到的样式往上加,无意中给i标签加了个浮动,神奇的事情发生了,正常了!
单行文本正常了,多行文本也能撑起父级元素,没有溢出,具体原理我也不明白,按理说子元素浮动,父元素应该塌下去,但是没有,而且我也没用清除浮动的样式,真是神奇

css实现聊天气泡对话框相关推荐

  1. css制作聊天气泡android,css实现聊天气泡效果

    --------------------------------------- css功能强大,能实现很多炫 酷的效果,今天给大家分享 用css3绘制聊天气泡的方法: ---------------- ...

  2. CSS实现聊天气泡(三角形)

    左边聊天气泡 /* CSS */.frame{width: 100%;float: left;position: relative;padding: 0 0 0 5px;}.triangle{widt ...

  3. css制作聊天气泡android,CSS3巧妙实现聊天气泡

    传统的聊天气泡 什么又是传统的聊天气泡,直接上图 代码如下 实现方式大家早有耳闻,圆角矩形和三角形嘛,三角形原理就是 border 可以设置为透明,可以复制上例中的代码修改 border-color属 ...

  4. CSS实现聊天气泡效果

    html <div class="pop"><div class="arrow"></div> </div> c ...

  5. android 聊天气泡_android聊天气泡在android中构建ios风格的聊天

    android 聊天气泡 重点 (Top highlight) In this post, we'll explore how to do two things: 1) create live cha ...

  6. 试用php语言写气泡,如何用纯CSS实现语音聊天气泡框效果

    本篇文章主要给大家介绍怎么用纯css实现语音聊天气泡框效果. 推荐参考教程:<CSS教程> 语音聊天气泡框效果,在我们日常生活中或者社交网站上,都是非常常见且流行的一种对话框效果. 比如微 ...

  7. html编写气泡对话框,HTML+CSS入门 纯CSS手写圆角气泡对话框

    本篇教程介绍了HTML+CSS入门 纯CSS手写圆角气泡对话框,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 嗯--我们设计师强烈要求一定要圆角!圆角的气泡对话框,不要那 ...

  8. 【CSS】如何实现微信聊天气泡

    先来分析一下聊天气泡 气泡分割为两部分,左边的矩形,右边的三角形 矩形的实现比较简单 先对对右边的三角形进行分析 div{ width:100px; height:100px; border:soli ...

  9. html编写气泡对话框,纯css手写圆角气泡对话框 微信小程序和web都适用

    嗯--我们设计师强烈要求一定要圆角!圆角的气泡对话框,不要那种尖角的.这其中还遇上了个尴尬的问题,z-index不生效 无非就是两种方法,一种是使用图片再定位拼接起来使用,太简单了具体就不详细的说了. ...

最新文章

  1. php input框圆角样式,CSS如何实现边框圆角
  2. 卢克增加服务器,DNF卢克攻坚服务器优化:增加攻坚队频道,新跨区整合计划
  3. centos7重启网卡命令_重启 CentOS 7 系统后的 IP 地址问题
  4. C ++ 类 | 类的例子,构造函数(Constructors),析构函数(Destructors)_2
  5. Zeppelin介绍
  6. 在线计算机 授课,在线计算机教育网站计蒜客改版 推出算法竞赛课程
  7. 第二周java基础学习内容
  8. fastcopy会损坏硬盘_绚丽多彩 卓有不凡 三星移动固态硬盘T5金属红新品评测
  9. java基础-基础类型包装类型
  10. 注册测绘师学习笔记(二)
  11. PaddleOCR二次全流程——1. 确定字体
  12. Spring Boot实现的开源ERP系统,学习自用均可
  13. 【NeurIPS 2019】Yoshua Bengio报告:深度学习系统从1代到2代中的基础知识
  14. 程序员健身不完全指南
  15. 2022年最新大厂校招薪资表流出,拼多多成了薪资的天花板
  16. 学校作业,住院病人和护士护理,写出问题定义和分析可行性
  17. Windows补丁查找及安装
  18. 你以为你真的看懂《寒战》了吗?
  19. Mac adb操作设备与电脑文件传输及Apk安装启动
  20. 微信小程序——评论功能

热门文章

  1. 计算机总分评价公式,用excel完成分数ABCD评价方法分享
  2. 整数a关于模m的乘法逆元
  3. 关于RSA算法的探究 -Crypto 0x01
  4. win2008 php上传限制,win2008 r2服务器 iis7.5限制100M带宽的方法
  5. 传奇手游单职业服务器外网搭建架设一键端-2023
  6. Window_MySQL初始化(重置)数据库
  7. Linux实战教学笔记35:企业级监控Nagios实践(下)
  8. 农夫过河问题(图结构)
  9. Bia布刷题日记 LC-1
  10. 太阳能电池板原理及工作原理