css制作三角形的原理很简单,主要就是将盒子的宽高设为0,加上边框的宽度和颜色
- 分解步骤给大家看一下,先定义一个宽高10px的灰色黑字
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.box {
width: 10px;
height: 10px;
background-color: #ccc;
border-style: solid;
border-width: 30px;
border-color: red green blue orange;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
出来的效果为这样,中间是盒子自身的宽高
- 将box宽高改为0,想要哪条边的三角形,就将其与三边的边框颜色改为transparent(透明的意思)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.box {
width: 0px;
height: 0px;
/*background-color: #ccc;
*/ border-style: solid;
border-width: 30px;
/*我现在想要下边框颜色改为红色,那么就将上/左/右 三条边框的颜色设为transparent*/
border-color: transparent transparent red transparent;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
效果图如下:
3. 举一反三的话,我们常常要做一个长方形样式的,下面是三角形小缺口的图片,例如很多电商类网站都会有,例如下图。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.box {
width: 0px;
height: 0px;
/*background-color: #ccc;
*/ border-style: solid;
/*边框的宽度写2个值,第一个值代表上下边框的粗细,第二个值代表左右边框的粗细*/
border-width: 30px 20px;
border-color: green green transparent green;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
效果如下:
总得来说,就是改变边框的宽度和颜色来做的,大家可以尝试一下。