H5聊天对话气泡的一种实现方式及原理

  • 实现效果
  • 实现原理
  • 实现代码

聊天对话气泡实现特别需要处理的是气泡的小尖角。

实现效果

实现原理

基于HTML元素边框原理及CSS伪元素实现气泡小尖角。关键点如下:

  1. 元素边框实际是由梯形组成。
  2. 当元素宽高为0、边框不断加粗时,实际边框是成三角形。
  3. 保留元素的其中一个边框,透明化另外3个边框。
  4. 通过元素的层级关系用两个三角形遮盖形成带边框的小三角。
  5. 这里使用CSS伪元素实现两个小三角。

实现代码

<html>
<head>
<meta charset='UTF-8'/>
<style>.msg_left {position: absolute;margin: 30px 30px;max-width: 200px;min-height: 20px;padding: 8px;border: solid 1px #ff6a00;border-radius: 10px;background: limegreen;}.msg_left:before {position: absolute;top: 6px;left: -20px;padding: 0;border: 10px solid;border-color: transparent #ff6a00 transparent transparent;display: block;content: '';z-index: 9;}.msg_left:after {position: absolute;top: 6px;left: -18px;padding: 0;border: 10px solid;border-color: transparent limegreen transparent transparent;display: block;content: '';z-index: 10;}
/* 右边省略,气泡样式类似 */
</style>
</head>
<title>对话框</title>
<body><div class='msg_left'>你好,这是内容。Hello,this is massage.</div><div class='msg_right'>你好,这是内容。Hello,this is massage.</div>
</body>
</html>

H5聊天对话气泡的一种实现方式及原理相关推荐

  1. CSS聊天对话气泡伪类

    CSS聊天对话气泡伪类效果图 例子 <template><view class='msg-box'><text>您好,我是智慧无人商店,点击选择您想要了解的信息吧- ...

  2. 电源变频驱动主要有哪2种驱动方式?原理如何

    将变频器的主电路连接到电源线后,要控制电动机的运行,必须将外围连接的控制电路连接到相应的端子,并将变频器的启动模式参数设置为外部操作模式. 电源变频驱动主要有哪2种驱动方式?原理如何 变频器控制电动机 ...

  3. 浅谈Android文件管理器的几种实现方式(原理篇)--对我有帮助

    转自 https://blog.csdn.net/weixin_33698823/article/details/87269955 浅谈Android文件管理器的几种实现方式 为了完成毕业设计,我花费 ...

  4. python wait until_荐selenium显示等待怎么写之WebDriverWait中until的两种实现方式及原理分析...

    关于显示等待WebDriverWait是什么,可以看selenium-wait源码解析 话不多说,先上实现代码: 第一种实现方式(官方提供): from selenium.webdriver.supp ...

  5. 一口气说出 OAuth2.0 的四种授权方式

    上周我的自研开源项目开始破土动工了,<开源项目迈出第一步,10 选 1?页面模板成了第一个绊脚石 > ,密谋很久才付诸行动,做这个的初衷就是不想让自己太安稳,技术这条路不进步就等于后退,必 ...

  6. java绘制聊天气泡代码_封装一个canvas画对话气泡的函数

    quadraticCurveTo(cp1x, cp1y, x, y) 绘制二次贝塞尔曲线,cp1x,cp1y为一个控制点,x,y为结束点.开始点由moveTo,或者前面一次的结束点作为下次调用的开始点 ...

  7. html5 模仿语音聊天气泡,HTML5实现对话气泡动画方法

    HTML5实现对话气泡点击动画 .select-toast{position:absolute;//确定对话的位置 top:3.4rem;right:0.2rem;width:1.45rem;//确定 ...

  8. Unity 对话气泡

    前言: unity真是啥都得自己写,还是ue4牛逼. 对话气泡功能挺实用的,下图是最终的效果. 准备阶段: 文字逐字显示动画用到了DOTWeen 需要自己用PS画对话气泡 需要自行学习相关的布局组件. ...

  9. CSS实现PC端简单的聊天消息气泡样式

    CSS实现PC端简单的聊天消息气泡 1. 参考博客: https://blog.csdn.net/weixin_35981962/article/details/117978624 2.实现效果 3. ...

最新文章

  1. 首批辉瑞疫苗紧急出仓,传特朗普将「以身试苗」
  2. 容量和速度是选购闪存盘的关键
  3. android把255转换成字节,android 上传参数设置,字符转化成字节,包装流等
  4. python生成固定形状的词云图
  5. Apache ZooKeeper - 高可用ZK集群模式搭建与运维
  6. OJ题目细菌实验分组c语言,C语言
  7. java激励_激励---201218(激励总结)
  8. C、C++ 学习经历
  9. php拼接xml特殊字符不显示,使用PHP的XML特殊字符
  10. win 7 连接打印机
  11. 优先队列+哈夫曼树(Fence Repair)
  12. 什么是html文件?html格式如何打开?(图文讲解)
  13. 国际象棋渲染测试软件,多线程运算效能Fritz国际象棋测试_CPUCPU评测-中关村在线...
  14. 3步教你如何做好技术入股
  15. 墨天轮沙龙 | 庚顿数据姚羽:实时数据技术赋能流程工业,保障业务连续性
  16. java autoconf_Centos7安装autoconf
  17. spss分析方法-多个独立样本检验(转载)
  18. 微信网页授权登录报错10003 redirect_uri域名与后台配置不一致,错误码:10003
  19. 第七届“创客中国”中小企业创新创业大赛,图扑软件荣获优胜奖!
  20. 通过layui组件的滑动块实现控制图片放大缩小功能!

热门文章

  1. c语言动态开辟数组(一维与二维)
  2. UI设计现状与发展趋势是什么
  3. 算法题目:小白上楼梯
  4. 【世界杯赛程表】v1.3 100614 我做的M8软件!
  5. 已解决:注册kaggle人机验证出不来
  6. web手机端真机测试
  7. mui在线加载html,MUI 预加载页面
  8. 假设用于通信的电文由字符集{a,b,c,d,e,f,g}中的字母构成。它们在电文中出现的频度分别为
  9. f.read()函数详解
  10. win7 eclipse调用虚拟机ubuntu部署的hadoop2.2.0伪分布(1)