背景:WEB开发中,三角形的日常应用,以三角形箭头最为常见,其用CSS来实现非常简单。
三角形的实现原理:是宽高都不设置(即为0),只需设置边框。
.box {
width: 0;
height: 0;
border-style: solid;
border-width: 0px 50px 50px 50px;
border-color: transparent transparent #3d87e5 transparent;
}
实现原理:空心三角形的原理就是一个三角形绝对定位到主体元素边界处并连接起来,然后另一个三角形绝对定位并覆盖到第一个三角形上面,关键的一点是第二个三角形相较于第一个三角形定位上偏移的距离应等于边框宽度。
代码实现:如下
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>空心三角形指示箭头</title>
<style>
.box {
position: relative;
width: 300px;
height: 100px;
border: 5px solid #d9d9d9;
border-radius: 10px;
margin: 100px auto;
background: #f5f7fa;
}
/* 第一个三角形颜色换成边框颜色 */
.box::before{
content: '';
display: block;
position: absolute;
top: -25px;
left: 70px;
border-left: 20px solid transparent ;
border-right: 20px solid transparent;
border-bottom: 20px solid #d9d9d9;
}
/* 第二个三角形颜色换成背景色 */
.box::after{
content: '';
display: block;
position: absolute;
top: -18px;
left: 70px;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
border-bottom: 20px solid #f5f7fa;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
实际效果:
网友评论