重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1.可以用css3的border-radius属性来实现,支持ie9+
创新互联专注于宝安网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供宝安营销型网站建设,宝安网站制作、宝安网页设计、宝安网站官网定制、微信小程序定制开发服务,打造宝安网络公司原创品牌,更为您提供宝安网站排名全网营销落地服务。
div class="dm"
/div
div class="dm1"
/div
div class="dm2"
/div
div class="dm3"
/div
div class="dm4"
/div
div class="dm5"
/div
div class="dm6"
/div
div class="dm7"
/div
style
.dm {
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 100px solid #00897B;
}
.dm1{
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-top: 100px solid #00897B;margin-top: 20px;
}
.dm2{
width: 0;
height: 0;
border-top: 50px solid transparent;
border-right: 100px solid #00897B;
border-bottom: 50px solid transparent;margin-top: 20px;
}
.dm3{
width: 0;
height: 0;
border-top: 50px solid transparent;
border-left: 100px solid #00897B;
border-bottom: 50px solid transparent;margin-top: 20px;
}
.dm4{
width: 0;
height: 0;
border-top: 100px solid #00897B;
border-right: 100px solid transparent;margin-top: 20px;
}
.dm5{
width: 0;
height: 0;
border-top: 100px solid #00897B;
border-left: 100px solid transparent; margin-top: 20px;
}
.dm6{
width: 0;
height: 0;
border-bottom: 100px solid #00897B;
border-right: 100px solid transparent
}
.dm7{
width: 0;
height: 0;
border-bottom: 100px solid #00897B;
border-left: 100px solid transparent;
}
/style
我们的思路是使用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
使用上面的方式实现三角形有一个问题就是,三角形的方位不太好控制,但是使用其他的方式依然会面临这样的问题。
请点击输入图片描述
1、理论
三角形实现原理:宽度width为0;height为0;
(1)有一条横竖边(上下左右)的设置为border-方向:长度 solid red,这个画的就是底部的直线。其他边使用border-方向:长度 solid transparent。
(2)有两个横竖边(上下左右)的设置,若斜边是在三角形的右边,这时候设置top或bottom的直线,和右边的斜线。若斜边是在三角形的左边,这时候设置top或bottom的直线,和左边的斜线。
二、实现
2.1 Triangle Up
#triangle-up {width:0; height:0;
border-left:50px solid transparent;
border-right:50px solid transparent;
border-bottom:100px solid red;}
2.2 Triangle Down
#triangle-down {width:0; height:0;
border-left:50px solid transparent;
border-right:50px solid transparent;
border-top:100px solid red;}
2.3 Triangle Left
#triangle-left {
width:0;
height:0;
border-top:50px solid transparent;
border-right:100px solid red;
border-bottom:50px solid transparent;}
2.4 Triangle Right
#triangle-right {width:0;
height:0;
border-top:50px solid transparent;
border-left:100px solid red;
border-bottom:50px solid transparent;}
2.5 Triangle Top Left
#triangle-topleft {width:0;
height:0;
border-top:100px solid red;
border-right:100px solid transparent;}
2.6 Triangle Top Right
#triangle-topright {width:0;
height:0;
border-top:100px solid red;
border-left:100px solid transparent; }
2.7 Triangle Bottom Left
#triangle-bottomleft {width:0;
height:0;
border-bottom:100px solid red;
border-right:100px solid transparent;}
2.8 Triangle Bottom Right
#triangle-bottomright {width:0;
height:0;
border-bottom:100px solid red;
border-left:100px solid transparent;}
style type="text/css"
#bottom{
width:0px;
height:0px;
border-left:30px solid #FFFFFF;
border-top:30px #FF6699 solid;
border-right:30px solid #FFFFFF;
}
#top{
width:0px;
height:0px;
border-left:30px solid #FFFFFF;
border-bottom:30px #FF6699 solid;
border-right:30px solid #FFFFFF;
}
#rt{
width:0px;
height:0px;
border-left:30px solid #FFffff;
border-bottom:30px #ff6699 solid;
}
#lt{
width:0px;
height:0px;
border-right:30px #FFffff solid;
border-bottom:30px solid #FF0000;
}
/style
下
div id="bottom"/div
上
div id="top"/div
右下
div id="rt"/div
左下
div id="lt"/div
通过设置 宽和高为0 ,改变 border-color 属性即可实现三角形效果。
在当前的三角形后面添加一个一个实心三角形,然后将这个三角形绝对定位到当前三角行的位置切割。
.div1 { border: transparent solid 100px; border-top-width: 0px; border-bottom: red solid 173px; width: 0; } /*三角向上*/
.div2 { border: transparent solid 100px; border-bottom-width: 0px; border-top: blue solid 173px; width: 0; }/*三角向下*/
.div3 { border: transparent solid 100px; border-left-width: 0px; border-right: red solid 173px; width: 0; } /*三角向左*/
.div4 { border: transparent solid 100px; border-right-width: 0px; border-left: blue solid 173px; width: 0; }/*三角向右*/