css三角形绘制

三角形演变:

1、将一个块元素的宽、高都设置为0,再设置边框样式,得如下效果图(绿色部分):

样式:

{width: 0;height: 0;border: 35px solid #7de87d;}

通过此样式得到的是一个正方形。

2、将正方形的左右边框设置成其他颜色,如:

{
width: 0;
height: 0;
border-left: 35px solid #ff9900;
border-right: 35px solid #ff9900;
border-top: 35px solid #7de87d;
border-bottom: 35px solid #7de87d;
}

效果图:

给块元素添加设置了其他颜色后,块元素被左右的三角形切割了。

3、如果再将左右两边设置成透明,又会是什么效果呢?

样式:

{
width: 0;
height: 0;
border-left: 35px solid transparent;
border-right: 35px solid transparent;
border-top: 35px solid #7de87d;
border-bottom: 35px solid #7de87d;
}

最终看到的是一个像漏斗形状的图形,如果将边框顶部去掉,那我们就可以直接得到向上的三角形了,如图:

样式:

{
width: 0;
height: 0;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
border-bottom: 50px solid #7de87d;
}

其他方向的三角形:

向下三角形样式:

{
width: 0;
height: 0;
border-top: 50px solid #7de87d;
border-left: 50px solid transparent;
border-right: 50px solid transparent;
}

向左样式:

{
width: 0;
height: 0;
border-right: 40px solid #7de87d;
border-top: 40px solid transparent;
border-bottom: 40px solid transparent;
}

向右样式:

{
width: 0;
height: 0;
border-left: 40px solid #7de87d;
border-bottom: 40px solid transparent;
border-top: 40px solid transparent;
}

左下三角形样式:

{
width: 0;
height: 0;
border-bottom: 50px solid #7de87d;
border-right: 50px solid transparent;
}

右下三角形样式:

{
width: 0;
height: 0;
border-bottom: 50px solid #7de87d;
border-left: 50px solid transparent;
}

左上三角形样式:

{
width: 0;
height: 0;
border-top: 50px solid #7de87d;
border-right: 50px solid transparent;
}

右上三角形样式:

{
width: 0;
height: 0;
border-top: 50px solid #7de87d;
border-left: 50px solid transparent;
}

线性三角形:

除了上面给到的有背景颜色的三角形外,如果需要线性形状的三角形该怎么做呢?

这里就需要用到css3的变换(transform)属性了,如下样式:

{
width: 50px;
height: 50px;
border-top: 2px solid #7de87d;
border-right: 2px solid #7de87d;
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}

给块元素设置对角边框样式,再用transform属性旋转到对应角度就可以了,效果图:

 其他线性三角形:

向下样式:

{
width: 50px;
height: 50px;
border-top: 2px solid #7de87d;
border-right: 2px solid #7de87d;
transform: rotate(135deg);
-webkit-transform: rotate(135deg);
}

向左样式:

{
width: 50px;
height: 50px;
border-top: 2px solid #7de87d;
border-right: 2px solid #7de87d;
transform: rotate(-135deg);
-webkit-transform: rotate(-135deg);
}

向右样式:

{
width: 50px;
height: 50px;
border-top: 2px solid #7de87d;
border-right: 2px solid #7de87d;
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
}

 总结:

再满足兼容性的情况下,通过样式制作三角形,比用图形制作三角形会来的简单、方便一些。比如在网页制作中,要实现下拉框上的向下图标,我们就可以直接用样式制作。又如做"更多"按钮后的向右图标,我们就可以用线性的三角形的做法。

时间: 2024-08-11 06:30:26

css三角形绘制的相关文章

CSS 三角形绘制方法

#triangle-up {    width: 0;    height: 0;    border-left: 50px solid transparent;    border-right: 50px solid transparent;    border-bottom: 100px solid red;} #triangle-down {    width: 0;    height: 0;    border-left: 50px solid transparent;    bord

CSS 利用border三角形绘制方法

CSS 三角形绘制方法,这里面的transparent比较重要,有和没有影响很大: 原理:这个div是由4个三角形组成,每个三角对应一个border,隐藏其它3个border,就可以得到一个三角形. 复制代码 代码如下: #triangle-up {    width: 0;    height: 0;    border-left: 50px solid transparent;    border-right: 50px solid transparent; /*border:  50px

利用CSS三角形实现的冒泡框

请用CSS实现如下图的样式,相关尺寸如图示,其中dom结构为:<div id=”demo”></div> 这是一道去年的百度笔试题. 涉及定位.三角形.伪元素. 下面是我的解答以及一些知识概述,都在程序里了. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title

html6 border border-width border-style border-color CSS三角形

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta h

前端读者 | CSS三角形和饼图

@羯瑞 三角形 .triangle{width:0;height:0;border-width:50px;border-style:solid;border-color:red blue green yellow;} .triangle_top{width:0;height: 0;border-width:50px;border-style:solid;border-color:red transparent transparent transparent;} .triangle_right{w

OpenGL ES 3.0 点,线,三角形绘制形式总结

OpenGL ES 3.0 顶点     -1,  1, 0, -0.5f,  0, 0,     0, -1, 0,    -1,  0, 0, 0.5f,   0, 0,     1, -1,  0 顶点设置成了大小20 public static final String vertex3 = "#version 300 es \n" + "uniform mat4 uMVPMatrix;\n" + "layout(location = 0) in v

纯CSS 三角形箭头Div边框代码

<html> <head> <title>纯CSS实现 "三角箭头"代码</title> <meta http-equiv="Content-Language" content="zh-CN"/> <mce:style type="text/css"><!-- span {_overflow:hidden;} .wp {position: relat

css三角形实现的几种方法的区别

简单说来,css实现方法有三种, 先贴代码看效果: .triangle1,.triangle2,.triangle3{ width: 0; height: 0;/*overflow:hidden;解决ie6左右向溢出问题*/ display: inline-block; border-color: #ff3300 transparent transparent transparent;}        .triangle1{            border-width: 10px; bord

前端复习(1)CSS三角形

html部分 <div class="triangle"></div> css部分 .triangle{ width: 0; height: 0; border-left:50px solid blue; border-right:50px solid green; border-top:50px solid yellow; border-bottom:50px solid red; } 得以下结果 然后利用transparent将其他3个边变透明即可,例 .t