CSS实现对话气泡框

用气泡框图片直接插入即可,但是,图片每次都需要加载,可以用CSS来实现!

首先,得弄明白,气泡框是怎么实现的。知道了原理之后就可以无限变通啦!!!!

先来一个基本的气泡框图!

第一步,首先要有个框!很简单,一个div就可以啦!然后对其div设置相对定位。

HTML:

css 复制代码
<div class="div"></div>

CSS:

css 复制代码
.div {
  width: 200px;
  height: 100px;
  border: 2px solid #ff0;
  position: relative;
}

如图,这是一个框,基本的形状就有啦!

接着,最关键的,就是如何实现三角形部分啦~

在此前得搞明白,三角形是怎么来的?

在这里,我先举一个例子,来解析一下!!!!

来看看下图。一步一步来!!!

HTML:

html 复制代码
<p>1.下面是一个div.长宽为50*50的正方形,边框宽度为50</p>
<div class="div1"></div>

CSS:

css 复制代码
		.div1{
			width: 50px;
			height: 50px;
			border: 50px solid;
			border-color: yellow skyblue pink deeppink;
		}

效果图:我们可以看到边框为50px的时候,已经呈梯形了对不对?

接下来,把正方形的宽高都设为0,只剩下50px的边框,我们来看看效果图,是不是出现了四个三角形?是的,边框已经没有再包裹任何东西了。只剩下边框它本身了。

我们取上边框,剩下的三条边都颜色设为透明!

是不是知道三角形从何而来了呢?

我们回到气泡框,只需要把三角形定位到长方形的框下面,气泡框就基本成型啦!!

CSS:在div之前插入此样式!用::before 就ok!!! 对其绝对定位!把上边框颜色设为:#ff0,左右边框为透明色,下边框为透明色

css 复制代码
.div::before{
        content: '';
        width: 0;
        height: 0;
        border: 20px solid;
        position: absolute;
        bottom: -40px;
        left: 140px;
        border-color:  #ff0 transparent transparent;
}

好了,大概的样子有了,咦!!!是不是还差一点点呢?喔!原来三角形处应该是空心的,而非实心三角形呀!!那么,在div元素之后插入一个同样的三角形,背景色为白色,盖在原有的黄色三角形不就可以了么?好的,来看看!!!

CSS:

css 复制代码
.div5::after{
        content: '';
        width: 0;
        height: 0;
        border: 20px solid;
        position: absolute;
        bottom: -36px;
        left: 140px;
        border-color:  #fff transparent transparent;
}

效果图:

完成之后,是不是有点突兀,再给气泡框加个圆角把!!!

CSS:

css 复制代码
.div{
        width: 200px;
        height: 100px;
        border: 2px  solid #ff0;
        border-radius: 7px;  /*圆角弧度为7px*/
        position: relative;
}

好啦,大功告成啦!一个基本的气泡框,就已经完成了

相关推荐
橙光成长13 小时前
PDF离线工具箱深度解析:4MB纯前端单文件,40+功能全本地运行,文件绝不上传
前端·pdf·1024程序员节
小poop20 小时前
CSS 基础与实战:从入门到精通网页美化
前端
Csvn21 小时前
运行时性能
前端
Never_every991 天前
位图转矢量工具哪个好?实测抠抠图AI位图转矢量工具
大数据·前端
paopaokaka_luck1 天前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
空中湖1 天前
用 React 写数据大屏:为什么我不建议用图表库
前端·react.js·前端框架
狮子座的男孩1 天前
html+css基础:25、3D变换(3D空间与景深/透视点的位置/位移/旋转/缩放/多重变换/背部可见性)
css·经验分享·html·旋转·透视点·缩放/位移·3d变换/空间与景深
欣欣之王来了1 天前
原始HTML插值:v-html指令的使用与安全风险
前端·学习·架构·项目·vue3教程
IT_陈寒1 天前
Redis的LRU淘汰策略坑了我一整天
前端·人工智能·后端
计算机魔术师1 天前
砍半价格、参数再涨,国产旗舰追到 Opus 鼻尖了
前端