这个也是我最近学习才发现的一个细节,就是常常会在一些网站,看到下面图中这样的一个小三角,以前没怎么学CSS,我一直以为它是个精灵图之类。😂
我是最近才开始认真学的前端,比纯小白稍微懂的稍微多一点点。
文章如若有那些不足之处,请及时指出,在此郑重感谢。
我们先简单说一下,如何把三角画出来,懂用什么画的之后,基本就完事了。
html代码:
<div class="sanjiao">
</div>
css代码:
.sanjiao {
/* 为了好看让它居中 */
margin: 0 auto;
/* 高度和宽度必须指定为零 */
width: 0;
height: 0;
/* 给四边都设置边框和颜色 */
border-bottom: 10px solid #FFD5A1;
border-top: 10px solid #00A1D6;
border-left: 10px solid saddlebrown;
border-right: 10px solid seagreen;
}
我们先来看看代码效果,之后再谈论其他的哈
页面展示效果就是一个四个小三角拼成的正方形。
原理是什么呢?
盒子每一边的边框都是梯形的,盒子大小为0时,梯形上底(边框内边)也为0,所以两边会合并成三角形。
原理图大致就如下:
当最后它中间的盒子宽度、高度都为零,就成了角形。
原理知道了之后,我们来做一个小小的案例吧。
html代码:
<div class="main">
<div class="box1">
</div>
<!-- 再写一个div来做三角 -->
<div class="box2">
</div>
</div>
css代码:
.mian {
/* 我们再给父元素设置一个相对定位*/
position: relative;
}
.box1 {
margin-top:10px;
width: 100px;
height: 100px;
background-color: #81c784;
border-radius:5px;
}
.box2 {
width: 0px;
height: 0px;
/* 设置四边边框宽度,将颜色设置为透明 */
border: 10px solid transparent;
/* 再进行下面的设置,这样之后就会出现一个紫色向上的一个小三角*/
border-bottom: 10px solid #E1BEE7;
position: absolute;
left: 80px;
top: -10px;
}
</style>
最后的成果大致如下:
css这个边框还有很多可以玩,还在学习中…