用css的border属性画三角形
2016-11-03 14:25
489 查看
在网上你可以随意搜到很多用css的border属性画的图形,比如面包屑导航、三角形等等,画这些图形可能结合了css的伪类:before 、 :after等,当然也可能没有,这并不影响我今天要分享的,当初作为新手的我看到这些代码觉得很神奇但并不能理解,今天,在相对理解的基础上我自己画出了这些三角形更是觉得神奇于是来分享。
首先我们看一个三角形
想象它是由一个正方形变来的,如何变呢,先来看看这个正方形
为了解释的更加清晰,我们给正方形的四个角标上记号
假设DC边,也就是底边,不在了,然后我们将DC两个点连起来,先假设他们的结合点在曾经DC边的终点上,你看,我们是不是得到了一个三角形 ?
我们的三角形大致是用了这个原理,当然不是上图的这种转换,我们让一个 width 和 height 都为0的div,通过border来画这个三角形,如果需要画一个箭头向下的三角形,是不是让底边的border消失就好了呢 ? 同时,只给顶部的border一个颜色,其他的border都为透明色transparent
为了观察清楚原div,我们先还原一部,假设所有的border的color为red
然后看看这个div
依次改变border的color就会看清每个border
然后根据需要显示对应的border-color就好了
然后根据需要我们就可以画出自己想要的图形
以下是画三角形的css代码参考
首先我们看一个三角形
想象它是由一个正方形变来的,如何变呢,先来看看这个正方形
为了解释的更加清晰,我们给正方形的四个角标上记号
假设DC边,也就是底边,不在了,然后我们将DC两个点连起来,先假设他们的结合点在曾经DC边的终点上,你看,我们是不是得到了一个三角形 ?
我们的三角形大致是用了这个原理,当然不是上图的这种转换,我们让一个 width 和 height 都为0的div,通过border来画这个三角形,如果需要画一个箭头向下的三角形,是不是让底边的border消失就好了呢 ? 同时,只给顶部的border一个颜色,其他的border都为透明色transparent
为了观察清楚原div,我们先还原一部,假设所有的border的color为red
然后看看这个div
依次改变border的color就会看清每个border
然后根据需要显示对应的border-color就好了
然后根据需要我们就可以画出自己想要的图形
以下是画三角形的css代码参考
.arrow-down{ width: 0px; height: 0px; border-width: 30px 30px 0 30px; border-color: transparent; border-style: solid; border-top-color: red; } .arrow-up{ width: 0px; height: 0px; border-width: 0 30px 30px 30px; border-color: transparent; border-style: solid; border-bottom-color: red; } .arrow-left{ width: 0px; height: 0px; border-width: 30px 30px 30px 0px; border-color: transparent; border-style: solid; border-right-color: red; } .arrow-right{ width: 0px; height: 0px; border-width: 30px 0 30px 30px; border-color: transparent; border-style: solid; border-left-color: red; } .triangle-upright{ width: 0px; height: 0px; border-width: 30px 30px 30px 30px; border-color: rebeccapurple; border-style: solid; border-left-color: transparent; border-bottom-color: transparent; } .triangle-upleft{ width: 0px; height: 0px; border-width: 30px 30px 30px 30px; border-color: rebeccapurple; border-style: solid; border-right-color: transparent; border-bottom-color: transparent; } .triangle-downright{ width: 0px; height: 0px; border-width: 30px 30px 30px 30px; border-color: rebeccapurple; border-style: solid; border-left-color: transparent; border-top-color: transparent; } .triangle-downleft{ width: 0px; height: 0px; border-width: 30px 30px 30px 30px; border-color: rebeccapurple; border-style: solid; border-right-color: transparent; border-top-color: transparent; }
相关文章推荐
- 用CSS border相关属性画三角形
- css 巧用border属性制作各种图形(矩形,梯形,三角形)
- CSS实现三角形的方法之一--利用 border 属性实现三角形
- 【css学习笔记】理解利用css的border属性制作三角形的原理
- 用CSS border相关属性画三角形
- CSS中元素的边框border属性
- HTML border CSS输出三角形
- 图解CSS的padding,margin,border属性(详细介绍及举例说明)
- css控制border画三角形
- CSS 利用border三角形绘制方法
- CSS border 属性
- HTML5基础加强css样式篇(css属性border圆角:border-radius)(三十五)
- CSS3 border-radius 属性和CSS outline 属性
- 巧用CSS的Border属性
- 用border做纯CSS的三角形
- 用css的border属性实现三角
- CSS padding margin border属性和布局
- CSS border 属性和 border-collapse 属性
- 学习笔记之CSS padding margin border属性详解
- CSS padding margin border属性详解