<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
.a{
border-bottom:1px solid #aaa
height:50px
width:100px
position:relative
overflow:hidden
}
.b{
position:absolute
display:block
top:0px
left:0px
width:100px
height:50px
}
.b i,.b em{
position:absolute
left:0px
bottom:0px
border-color:transparent
border-color:rgba(255,255,255,0)
border-style:solid
border-width:0 50px 50px 50px
}
.b i{
border-bottom-color:#aaa
}
.b em{
border-bottom-color:#FFF
bottom:-1px
}
.text{
position:absolute
bottom:10px
background:none
border:none
outline:none
text-align:center
width:100%
}
</style>
</head>
<body>
<div class = "a">
<span class = "b">
<i></i>
<em></em>
</span>
</div>
</body>
</html>
我们的思路是使用border边框来实现三角形的样式,因为border的边框是由四个三角形组成的。
请点击输入图片描述
首先我们创建一个带边框的div:
具体代码实现如下:
width: 40px
height: 40px
border-width: 40px
border-style: solid
border-color: red green blue brown
请点击输入图片描述
然后我们将内部DIV的宽高设置为0:
width: 20px
height: 20px
border-width: 10px
border-style: solid
border-color: red green blue brown
请点击输入图片描述
将其他的三个边框给取消点:
width: 0
height: 0
border-width: 40px
border-style: solid
border-color: red transparent transparent transparent
请点击输入图片描述
利用更改border的边框,我们可以随意控制写出我们想要的三角形,通过控制边框的大小来实现三角形的大小,通过控制边框的位置来改变三角形的位置。
请点击输入图片描述
6
使用上面的方式实现三角形有一个问题就是,三角形的方位不太好控制,但是使用其他的方式依然会面临这样的问题。
请点击输入图片描述