,如果在以前,我肯定直"/>

CSS画三角形的原理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS画三角形的原理相关的知识,希望对你有一定的参考价值。

今天遇到一个无序列表,每一行的开始都要用一个小三角形,像这样技术分享,如果在以前,我肯定直接放图片进去了,然而学习了CSS后,我认为CSS一定能完成这个小图形。


关键需要把元素的宽度、高度设为0。


原理如下:

首先,写一个with和height都是40px的div,border宽度也是40px,看看是什么效果?

html代码:

<div class="triangle"></div>

css代码:

.triangle {
    width: 40px;
    height: 40px;
    border-left: 40px solid #000;     /*左边框*/
    border-right: 40px solid #000;    /*右边框*/
    border-top: 40px solid #00F;      /*上边框*/
    border-bottom: 40px solid #00F;   /*下边框*/
	}

效果如下:

技术分享

然后,将这个div的width和height无限缩小,是什么效果呢?

HTML代码:

<div class="triangle"></div>

css代码:

.triangle {
    width: 0px;                       /*div宽设置为0*/
    height: 0px;                      /*div高设置为0*/
    border-left: 40px solid #000;     /*左边框*/
    border-right: 40px solid #000;    /*右边框*/
    border-top: 40px solid #00F;      /*上边框*/
    border-bottom: 40px solid #00F;   /*下边框*/
	}

效果如下:

技术分享

看到了吗,只剩下40px的边框,而div盒子的宽和高为0,这时已经是4个三角形组成的正方形了。这样,我们需要哪个方向的三角形,只要让border的一边取消,另两边透明即可!

比如我们需要尖角向上的三角形:

.triangle {
    width: 0px;                       /*div宽设置为0*/
    height: 0px;                      /*div高设置为0*/
    border-left: 40px solid transparent;     /*左边框透明*/
    border-right: 40px solid transparent;    /*右边框透明*/
                                      /*上边框取消*/
    border-bottom: 40px solid #00F;   /*下边框*/
	}

效果如下:

技术分享

如此,一个尖角向上的三角形就可以用CSS绘制完成!需要其他样式三角形也是同理!

以上是关于CSS画三角形的原理的主要内容,如果未能解决你的问题,请参考以下文章

CSS画三角形的原理

css_画一个三角形

如何用 DIV 画一个三角形

怎么利用CSS3绘制三角形

用CSS画一个带阴影的三角形的示例代码

CSS三角形绘制