下面将介绍怎样利用CSS实现三角形。如果我们将元素的高度和宽度设置为0,然后设置边框宽度。你会得到一个如下图所示的正方形,假如我们将其他三方设置为透明,不就是一个三角形吗?根据这个思路,我们是不是可以得到四个指向不同方向的三角形。如下图:
实例1:设置div的高度和宽度为0,然后设置宽度为40px。四条边的颜色分别为红色、绿色、蓝色和橙色。代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>CSS</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> .demo1 { width: 0; height: 0; border: solid 40px; border-color: red green blue orange; } </style> </head> <body> <div class="demo1"></div> </body> </html>
实例2:根据上面我们了解到的三角形实现思路,就可以简单的实现一个聊天的气泡样式(采用下三角形)。如下图:
代码示例:下面并没有创建元素去实现三角形,而是在主元素中插入before实现。如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "https://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>CSS</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <style type="text/css"> .demo2 { position: relative; height: 100px; width: 200px; border-radius: 5px; background: orange; } .demo2::before { content: ''; position: absolute; top: -19px; right: 20px; height: 0; width: 0; border: solid 10px; border-color: transparent transparent orange transparent; } </style> </head> <body> <div class="demo2"></div> </body> </html>