CSS 绘制箭头

序言:总结一些常用CSS样式,方便以后使用

一、 边框旋转实现箭头

1、导入css文件

<link rel="stylesheet" href="css/arrow1.css" />

2、设置容器

<div class="arrow-right"/>

3、设置矩形边框
border-style: solid;设置实线边框

.arrow-right {
  content: "";
  height: 60px;
  width: 60px;
  border-color: blue;
  border-style: solid;
  position: absolute;
}

效果图如下:
在这里插入图片描述
4、边框部分隐藏
border-width 设置边框宽度。设置4个值分别代表上边框、右边框、下边框、左边框。
这里我们隐藏下边框和左边框,如下:

 border-width: 8px 8px 0 0;

效果图如下:
在这里插入图片描述
5、边框旋转
在css3的transform属性中,可以使用矩阵matrix对图像进行旋转
上图隐藏的边框,如果旋转一定角度就是箭头,实现如下:

transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);

效果图如下:
在这里插入图片描述
6、完整实现
上述原理已经实现箭头,但是有个问题是箭头上方显示有点不完整,我可以先提前整个矩形容器来容纳箭头。下方是所有代码:

.arrow-right{
  height: 120px;
  width: 60px;
  display :inline-block;
  position: relative;
}
.arrow-right::after {
  content: "";
  height: 60px;
  width: 60px;
  top: 12px;
  border-width: 8px 8px 0 0;
  border-color: blue;
  border-style: solid;
  transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0);
  position: absolute;
}

效果图如下:
在这里插入图片描述
这里实现向左箭头只需修改旋转角度即可transform: matrix(-0.71, -0.71, 0.71, -0.71, 0, 0);

二、 双三角覆盖实现箭头

1、导入css文件

<link rel="stylesheet" href="css/arrow2.css" />

2、设置容器

<div class="arrow-down"/>

3、绘制矩形
我们先用border绘制由四个三角形组成的矩形

.arrow-down{
    width: 0;
    height: 0;
    border: 60px solid; 
    border-color: blue red yellow green;
}

效果图如下:
在这里插入图片描述
4、绘制三角形
绘制的四个三角形,使用“transparent”透明色–来隐藏3个三角形

 border-color: blue transparent transparent transparent;

效果图如下:
在这里插入图片描述
5、绘制箭头
绘制2个相同大小三角形、产生一定位移,效果如下:
在这里插入图片描述
如果覆盖的第2个三角形颜色修改成和背景色一样,代码如下:

.arrow-down{
    width: 0;
    height: 0;
    position: relative;
    border: 60px solid; 
    border-color: blue transparent transparent transparent;
}
.arrow-down::after{
  	content: '';
    position: absolute;
    top: -68px;
    left: -60px;
    border: 60px solid;
    border-color: white transparent transparent transparent;
}

效果如下:
在这里插入图片描述
6、绘制其他箭头
只需要修改隐藏的三角形和位移即可绘制其他方向的箭头。如下绘制向右箭头:

.arrow-right{
    width: 0;
    height: 0;
    position: relative;
    border: 60px solid; 
    border-color: transparent transparent transparent blue;
}
.arrow-right::after{
  	content: '';
    position: absolute;
    top: -60px;
    left: -68px;
    border: 60px solid;
    border-color: transparent transparent transparent white;
}

在这里插入图片描述
·········································································································································
本文介绍css的2种方式绘制箭头,请大家多多指教,能get到知识点不要忘了关注点个赞~

  • 18
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值