前言
生活中能看到很多带小三角形的会话框,如QQ、微信、时间轴等等,就像这样的:
在内容外面都有一个带小三角形的矩形框包围着,看上去视觉效果还不错,于是决定动手写一个,用纯CSS就能实现,下面我们来看一下。
基本原理
首先我们来看一下纯CSS实现三角形的原理:
其实就是对于border和transparent的应用123456789101112131415161718192021<body> <p>向上的三角:</p> <div class="top"> <!--向上的三角--> </div> <p>向下的三角:</p> <div class="bottom"> <!--向下的三角--> </div> <p>向左的三角:</p> <div class="left"> <!--向左的三角--> </div> <p>向右的三角:</p> <div class="right"> <!--向右的三角--> </div></body>
再用CSS分别实现向上、下、左、右的三角形
|
|
我们将上述代码整理在一起后,来看一下效果:
很简单吧,好了,原理我们已经了解,接下来我们来实现带小三角形的会话框。
实现带小三角形的会话框
首先,写出html代码:12345678<div class="dialog"> <div class="trangle"><!--本Div只用来绘制三角形--> </div> hello,world<br> hello,world<br> hello,world<br> hello,world<br> </div>
.trangle
的div只用来实现小三角形,对这个div用css的border和transparent实现三角形。- 再通过定位和会话框组合
看下面css代码:
|
|
效果是这样的:
好了,到这里我们就完工了,剩下的就是做一些美化的工作了。