怎样用 css 制作一个三角形的div

html-css015

怎样用 css 制作一个三角形的div,第1张

        <div style="width:1pxheight1pxborder:50px solid redborder-color:#f00 transparent transparent transparent"></div>

<!doctype html>

<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

使用上面的方式实现三角形有一个问题就是,三角形的方位不太好控制,但是使用其他的方式依然会面临这样的问题。

请点击输入图片描述