Css绘制箭头

Css绘制箭头

之前做箭头一直都是用图片,也尝试过用新浪微博用的那种特殊符号“◆”,不过宽高,三角形的大小等都不太好控制,后来发现可以直接用css绘制,非css3,使用常规的border进行绘制,即使在IE6下也可以完美实现。

具体的做法是对一个矩形,设置border,并将width和height设置为0,即可模拟出箭头形状(三角形)。 如下图所示绘制了一个矩形,并将矩形的width和height设置为0,border设置为100px:

border-left:100px solid #F00;  
border-right:100px solid #F00;   
border-top:100px solid #00F;  
border-bottom:100px solid #00F;  
width:0;  
height:0;
上面的其实就是四个矩形,分别是上下左右四个方向,如果我们想要某一个方向的矩形,就可以将它相邻两侧的border-color设置为transparent,对侧不设置border

border-left:100px solid transparent;  
border-right:100px solid transparent;  
border-bottom:100px solid #00F;  
width:0;  
height:0;
font-sie:0;

原理很简单,就是用两个三角形拼出一个箭头形状:

  • 外层的三角形充当箭头的border,三角形的border-color设置成和主体区域的border相同
  • 内层的三角形充当箭头的体,三角形的border-color设置成主体的背景颜色
  • 内层和外层三角形的距离就是箭头的”border-width”,这个距离应该设置成和主体的border-width大小相同
IE6不支持transparent,因此上面的代码在IE6加一点处理透明的hack,修改后的代码如下
border-left:100px solid transparent;
border-right:100px solid transparent;
_border-left:100px solid black; _filter:chroma(color=black);
_border-right:100px solid black; _filter:chroma(color=black);
border-bottom:100px solid #00F;
width:0;
height:0;
font-size:0;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值