HTML怎么做类似QQ聊天气泡,h5实现QQ聊天气泡的实例介绍

这篇文章主要介绍了HTML5实现QQ聊天气泡效果,用 HTML/CSS 做了个类似QQ的聊天气泡,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

今天自己用 HTML/CSS 做了个类似QQ的聊天气泡,以下是效果图:

c459b377d195df48e571ea731df61597.png%5C%22

以下说下关键地方的样式设置。然后贴出html和css代码(不多)。

步骤1:布局

消息採用p float布局,每条消息用一个p标签包裹,里面再放两个p分别用来包裹用户图标和用户消息内容。左側消息,先清除浮动,然后设置 float:left。这样用户图标和消息内容就能够显示在同一行了,当中用户图标在左边,消息内容紧邻着用户图标。

右側消息,相同先清除浮动。然后设置 float:right,这样用户图标和消息显示在同一行了。当中图标在最右边。图标左側是消息。

f3f4ccaa0134d9a072a6a835dbdbd10f.png%5C%22

步骤2:设置圆角矩形border-radius:7px;

270971559fcae9c9b54a1cfb74090461.png%5C%22

步骤3:三角形箭头

&n

将p的宽度和高度设置为0,设置边框宽度,能够使其表现出一个由四个三角形组成的矩形,每一个三角形的颜色和大小能够通过设置border宽度和颜色设置。

这里将当中三个三角形颜色设置为透明。仅仅留下一个三角形可见。

d9c1f672b2f18f612595fa6026abf296.jpg%5C%22

.triangle{

width: 0px;

height: 0px;

border-width: 15px;

border-style: solid;

border-color: red blue green gold;

}

acc88c4db09b52029c322dd0051a5528.jpg%5C%22

.triangle{

width: 0px;

height: 0px;

border-width: 15px;

border-style: solid;

border-color: transparent transparent transparent red;

}

关键点4:三角形尾随矩形框

使用相对定位。能够使三角形始终固定在矩形框的边上。

position:relative;

c459b377d195df48e571ea731df61597.png%5C%22

所有代码:

/* bubble style */

.sender{

clear:both;

}

.sender p:nth-of-type(1){

float: left;

}

.sender p:nth-of-type(2){

background-color: aquamarine;

float: left;

margin: 0 20px 10px 15px;

padding: 10px 10px 10px 0px;

border-radius:7px;

}

.receiver p:first-child img,

.sender p:first-child img{

width:50px;

height: 50px;

}

.receiver{

clear:both;

}

.receiver p:nth-child(1){

float: right;

}

.receiver p:nth-of-type(2){

float:right;

background-color: gold;

margin: 0 10px 10px 20px;

padding: 10px 0px 10px 10px;

border-radius:7px;

}

.left_triangle{

height:0px;

width:0px;

border-width:8px;

border-style:solid;

border-color:transparent aquamarine transparent transparent;

position: relative;

left:-16px;

top:3px;

}

.right_triangle{

height:0px;

width:0px;

border-width:8px;

border-style:solid;

border-color:transparent transparent transparent gold;

position: relative;

right:-16px;

top:3px;

}

cat.jpg

hello, man!

cat.jpg

hello world

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/296756.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高等数学的用处之一

1 只能说计算的真精准2 龙虾:我都准备半天了,你俩到底上不上?3 猫(≧^.^≦):我为这个宿舍付出太多了!4 请举一个日常生活中利用高等数学来解决问题的案例。5 男生做什么会让女生不开心7 人家拍的泸沽湖的水性杨花和我拍…

wp7 blogs

http://blog.csdn.net/jazywoo123/article/month/2012/04/3转载于:https://www.cnblogs.com/songtzu/archive/2012/08/09/2630573.html

k8s 查看ip地址属于哪个pod_Kubernetes Pod 如何获取 IP 地址

【编者的话】在学习 Kubernetes 网络模型的过程中,了解各种网络组件的作用以及如何交互非常重要。本文就介绍了各种网络组件在 Kubernetes 集群中是如何交互的,以及如何帮助每个 Pod 都能获取 IP 地址。Kubernetes 网络模型的核心要求之一是每个 Pod 都拥…

Fiddler抓包一键生成调用代码

首先我们的需求场景是用Fiddler抓到某个接口调用后,用代码来模拟调用,一般我们写代码会有3个步骤:1设置http请求相关的参数:header,method,url,cookie等2设置post的body(如果是post的话需要)3拿到返回的body(一般我们需要拿到接口的返回体进行…

frame框架的显示隐藏操作 (转)

下面是主要代码&#xff1a; index.htm <html><head><meta HTTP-EQUIV"Content-Type" CONTENT"text/html; charsetgb2312"><meta name"GENERATOR" content"Microsoft FrontPage 4.0"><meta name"Prog…

DexClassLoader的使用

版权声明&#xff1a;您好&#xff0c;转载请留下本人博客的地址&#xff0c;谢谢 https://blog.csdn.net/hongbochen1223/article/details/47146613 在Java环境中,有个概念叫做”类装载器(Class Loader)”,其作用是动态加载Class文件.标准的Java SDK中有一个ClassLoader类,借助…

arm开发tq2440上的c++裸奔程序

AVR实验做到LCD的时候&#xff0c;就发现proteus上没有现成合适的显示模块&#xff0c;网上找的模块不是按一般方法封装的&#xff0c;想来自己还有一块arm9开发板&#xff0c;大概大三、大四时候买的&#xff0c;已经搁置三年了。毕业这两年已经从51玩到AVR&#xff0c;虽然大…

这才是老公的正确用法,不吃就往死里打......

1 倒是好办法就是有点儿费爸爸▼2 一只被主人遗弃的小熊的奇幻旅程▼3 小子&#xff0c;你单身的命运gu7在你把美女老师撂倒那一刻就注定了...▼4 张萌姐姐自我肯定式唱歌▼5 &#xff1f;&#xff1f;&#xff1f;有被冒犯到▼6 听说昨天有个少年28岁就退休了▼7 哪个男…

java将date类型转成yyyymmdd_Java时间日期格式转换

1.1 返回时间类型 yyyy-MM-dd HH:mm:sspublic static Date getNowDate() {Date currentTime new Date();SimpleDateFormat formatter new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String dateString formatter.format(currentTime);ParsePosition pos new Pars…

C# WPF MVVM模式下在主窗体显示子窗体并获取结果

01—前言在winform中打开一个新的子窗体很简单&#xff0c;直接实例化窗体并show一下就可以&#xff1a;Form2 f2 new Form2();f2.Show();或者Form2 f2 new Form2();f2.ShowDialog();但是&#xff0c;在wpf的mvvm模式下&#xff0c;这种方法是行不通的&#xff0c;因为逻辑是…

Exchange 2010发现拓扑失败

今天跟大家继续分享一个我在项目中遇到的问题哈&#xff0c;希望对大家今后的项目排错有帮助。问题背景&#xff1a;企业主域控从 Window Server 2003升级为Windows Server 2012 R2具体实施方法可以参考我之前的文章(http://horse87.blog.51cto.com/2633686/1613268)在顺利升级…

html引用单文件组件,vue之单文件组件 纯网页方式引入

上一节的vue组件开发是把组件内容统一放到了一个js文件里面里面写上模板字符串(引用组件) 这种方式还需要拼接转义 写法非常丑陋vue贴心的帮我们封装了单文件组件 可以不用再模板里面拼接字符串下面看下写法由于我们目前没有使用webpack和vue-cli等构建工具(为了快速学习vue的语…

足不出户,游遍七大洲,不可错过的14部地理纪录片!

见识是超越时间与空间的力量&#xff0c;使人身未行&#xff0c;而心已至之。今天的资源分享就从七大洲为切入点&#xff0c;为各位献上最值得观看的14部地理纪录片&#xff0c;与各位一起探索各大洲的独一无二的自然与人文景观&#xff0c;从这些丰富的影像中&#xff0c;不仅…

EXT2/EXT3/EXT4文件系统数据恢复工具开发计划

D-Recovery For Linux数据恢复软件已经开发完成&#xff0c;现在把研发计划贴出来&#xff0c;留个纪念。 EXT2/EXT3/EXT4文件系统数据恢复工具开发计划EXT2/EXT3/EXT4是Linux下常用的文件系统&#xff0c;也是除了Windows下FAT/NTFS文件系统以外最常用文件系统&#xff0c;所以…

在Cocos2d中实现能够惯性拖动的选择界面

苹果的应用讲究用户体验 有的时候仔细想想 的确&#xff0c;很多细节决定了用户体验 比如说惯性拖动 可以说之前没有任何一家厂商能把触摸惯性拖动做的像苹果的UI那么流畅 Cocos2D中实现能够惯性拖动的选择界面 完成的效果&#xff1a; 制作一个简单的图层&#xff0c;通过传入…

qt显示echart_Qt配置,载入html,Echart, 交互

一、下载、安装、配置b) 编译器下载&#xff0c;本次要用到MSVC的编译器&#xff0c;下载安装visual studio 2017 版本(某博客说该版本支持 QWebEngineView)c) QT 安装过程中缺少组件可在QT安装目录下找到 MaintenanceTool.exe 添加&#xff1b;i. 需要注册…

SignalR在React/Go技术栈的实践

哼哧哼哧半年&#xff0c;优化改进了一个运维开发web平台。本文记录SignalR在react/golang 技术栈的生产小实践。01背景有个前后端分离的运维开发web平台&#xff0c; 后端会间隔5分钟同步一次数据&#xff0c;现在需要将最新一次同步的时间推送到web前端。说到[web服务端推送]…

UVA 1609 Foul Play 不公平竞赛 (构(luan)造(gao)+递归)

题意&#xff1a;有n支队伍&#xff08;n是2的整数幂&#xff0c;2<n<4&#xff09;&#xff0c;打淘汰赛&#xff0c;胜者进入下一轮&#xff0c;其中1号队伍能打败至少一半的队伍&#xff0c;对于它不能打败的队伍l&#xff0c;一定存在一支它能够打败的队伍w&#xff…

conversion to dalvik format failed with error 1的解决办法

android低版本工程&#xff08;如1.5&#xff09;放到高版本环境中&#xff08;如2.2&#xff09;可能会上述错误&#xff0c;解决方法如下&#xff1a; 1。 如果不修改android sdk版本&#xff0c;则使用project clean 命令作用于某工程即可。 &#xff08;该处理方式…

16张扎心漫画,戳中女生私密日常,每一幕都很真实

全世界只有3.14 % 的人关注了爆炸吧知识比利时的插画师Planet Prudence&#xff0c;画了很多女生的真实日常&#xff0c;每一幕都很戳心&#xff0c;一起来看看吧。别人的痘痘一长就是一个&#xff0c;我一长就是一片。买买买的时候爽得要命&#xff0c;要穿的时候总觉得自己没…