#cssborder制作小三角形

1.原理是CSS盒模型
一个盒子包括: margin+border+padding+content
– 上下左右边框交界处出呈现平滑的斜线. 利用这个特点, 通过设置不同的上下左右边框宽度或者颜色可以得到小三角, 小梯形等.
– 调整宽度大小可以调节三角形形状.

2.矩形
  设置盒子的宽高度, 及上下左右边框

div {
    height:20px;
    width:20px;
    border-color:#FF9600 #3366ff #12ad2a #f0eb7a;
    border-style:solid;
    border-width:20px;
}

3.小三角形

设置盒子宽高为0,然后设置边框颜色,其中一边设置颜色,余下3种颜色设置为透明(或者设置为和背景色相同的颜色).
div {
    height:0;
    width:0;
    overflow: hidden;/* 这里设置overflow, font-size, line-height */
    font-size: 0;     /*是因为, 虽然宽高度为0, 但在IE6下会具有默认的 */
    line-height: 0;  /* 字体大小和行高, 导致盒子呈现被撑开的长矩形 */
    border-color:#FF9600 transparent transparent transparent;
    border-style:solid;
    border-width:20px;
}
注意:IE6下不支持透明

解决方法:设置余下三条边的border-style为dashed,即可达到透明的效果
4.上面我们画的小三角的斜边都是依靠原来盒子的边, 还有另外一种形式的小三角, 就是斜边在盒子的对角线上
div {
    height:0;
    width:0;
    overflow: hidden;
    font-size: 0;
    line-height: 0;
    border-color:#FF9600 #3366ff transparent transparent;
    border-style:solid solid dashed dashed;
    border-width:40px 40px 0 0 ;
}
保留其中一种颜色, 就可以得到斜边在对角线上的三角形了…多个这样的三角形, 通过设置边框大小, 颜色, 拼凑起来可以形成任意形状的三角形.

05-11 21:58