# CSS实现图形

2 min read
Table of Contents

有一些形状可以通过纯 CSS 实现图形,如下拉三角型,下拉箭头等。。。

下拉三角形

主要通过设置宽高为 0,正常设置其中一条边,其他三条边的 border-color 为透明 transparent。

不能删掉其他三个边框,如果没有其他边框的支撑,上边框只有 20px 的高度,而没有宽度(宽度需要左右边框支撑),从而无法显示。

.triangle {
width: 0;
height: 0;
border: 20px solid #888;
border-color: #888 transparent transparent transparent;
}

其他变形- codepen: 实心三角形

下拉箭头

旋转

通过旋转其中两边边框 transform: rotate() 实现箭头。

.tri_arrow_rotate {
width: 40px;
height: 40px;
border-top: 8px solid #888;
border-right: 8px solid #888;
transform: rotate(45deg);
}

叠加

通过叠加两个双三角,并将一个设置成背景色。通过这个样子的设置,箭头会更加协调。

.tri_arrow_overlay {
position: relative;
width: 0;
height: 0;
border: 40px solid #888;
border-color: transparent transparent transparent #888;
}
.tri_arrow_overlay:before {
content: '';
position: absolute;
top: -40px;
left: -52px;
border: 40px solid #cc5500;
border-color: transparent transparent transparent #fff;
}

codepen: 三角箭头


More Posts

# 高阶组件HOC

7 min read

高阶组件 HOC 是一个函数,它接受一个组件并返回一个新组件。普通组件是将 props 转换成 UI,而高阶组件将组件转换成另一个组件。

# 递归

2 min read

递归,是指在函数的定义中使用函数自身的方法。