您现在的位置是:网站首页> 编程资料编程资料

CSS中使用border来创建三角形的基本方法讲解_CSS教程_CSS_网页制作_

2023-11-11 263人已围观

简介 这篇文章主要介绍了CSS中使用border来创建三角形的基本方法讲解,文中同时还附带了对HTML5 Canvas和SVG三角形的介绍,需要的朋友可以参考下

比较简单实用的还是使用border来创建三角形,今天主要研究这个的实现
将边框分别设置为红/黄/蓝/绿

CSS Code复制内容到剪贴板
  1. .triangle {   
  2.     height: 0;   
  3.     width: 0;   
  4.     overflowhidden;   
  5.     font-size: 0;   
  6.     line-height: 0;   
  7.     border-color#ff0000 #ffff00 #0000ff #008000;   
  8.     border-stylesolid;   
  9.     border-width40px 40px 40px 40px;   
  10. }  

效果如下:
2016331113511345.png (88×85)

四个三角形合成一个正方形,大小为80x80,如果我们只想保留其中某个三角形的话,将其它的设置为透明即可,比如(以下css未改变部分与上面相同)

CSS Code复制内容到剪贴板
  1. .triangle {   
  2.     border-color#ff0000 transparent transparent transparent;   
  3.     border-width40px 40px 40px 40px;   
  4. }  

效果:
2016331113536891.png (91×83)

IE6不支持transparent,所以不会透明而会显示难看的黑色,不过也有解决方法:将透明的部分对应的border-style设为dashed即可

CSS Code复制内容到剪贴板
  1. .triangle {   
  2.     border-color#ff0000 transparent transparent transparent;   
  3.     border-stylesolid dashed dashed dashed;   
  4.     border-width40px 40px 40px 40px;   
  5. }  

正方形按对角线平分为两个三角形的情况

CSS Code复制内容到剪贴板
  1. .triangle {   
  2.     border-color#ff0000 #ffff00 #0000ff #008000;   
  3.     border-stylesolid;   
  4.     border-width: 0 0 40px 40px;   
  5. }  
2016331113556112.png (45×45)
CSS Code复制内容到剪贴板
  1. .triangle {   
  2.     border-color#ff0000 #ffff00 #0000ff #008000;   
  3.     border-stylesolid;   
  4.     border-width: 0 40px 40px 0;   
  5. }  

2016331113615678.png (47×42)

需要指出的是,此时正方形的大小为40x40

如果将border-width的某一边设为0又会怎么样呢?也算是两种情况

CSS Code复制内容到剪贴板
  1. .triangle {   
  2.     border-color#ff0000 #ffff00 #0000ff #008000;   
  3.     border-stylesolid;   
  4.     border-width40px 40px 0 40px;   
  5. }  

2016331113633110.png (88×46)

CSS Code复制内容到剪贴板
  1. .triangle {   
  2.     border-color#ff0000 #ffff00 #0000ff #008000;   
  3.     border-stylesolid;   
  4.     border-width40px 40px 40px 0;   
  5. }  

2016331113651034.png (49×87)

结果是长方形,其中一边为80一边为40。宽度被设为0的边框对应方向的边框会形成较大的三角形,且长度加倍

segmentfault的"采纳"的显示其实

-六神源码网