>  기사  >  웹 프론트엔드  >  css实现三角形及应用示例_html/css_WEB-ITnose

css实现三角形及应用示例_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-24 11:51:191182검색

css实现三角形,网上讲了很多,但我发现一般都是三角向上或者向下的,向左向右这两方向似乎讲得很少,本人试了一下,发现原来在IE下很难搞~~(万恶的IE)...
css实现三角形的原理是:当元素的宽高为0,边框(border)不为0时,四个角边框交界重叠处分45度角平分。讲得很别扭~~~上个图吧:
            .triangle {               
                border-color: red green blue pink;
                border-style: solid;
                border-width: 20px 20px 20px 20px;
                width: 0;
                height: 0;
            }


   


那么,我们只有留下一条边框的时候会发现什么??

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

 



 怎样?出来了吧~~

同样道理,我们改成为向左向右的,

 

向左:     .triangle {              
                border-color: transparent red transparent transparent;
                border-style: solid;
                border-width: 20px 20px 20px 0px;
                width: 0;
                height: 0;
            }

向右:   .triangle {               
                border-color: transparent transparent transparent red;
                border-style: solid;
                border-width: 20px 0px 20px 20px;
                width: 0;
                height: 0;
            }

大功造成!? 慢,你用的是什么浏览器?如果用的是非IE6的话,恭喜你!下面我们用IE6(咬牙切齿ing...),



 汗~~~~

 

原来,IE6默认给了背景黑色~~

只有好用IE专有的东东了,解铃还需系铃人(~_~)

首先,css hack,用下划线"_"!

                _border-top-color: white;
                _border-bottom-color: white;
然后用chroma filter :      _filter: chroma( color =white);

其实就是把不要的边过滤掉!

还要加上                font-size: 0;  line-height: 0;   

这样就彻底的去掉了黑色背景:

 

            .triangle {
                border-color: transparent  transparent transparent red;
                border-style: solid;
                border-width: 20px 0px 20px 20px;
                font-size: 0;
                line-height: 0;    
                width: 0;
                height: 0;
                _border-top-color: white;
                _border-bottom-color: white;
                _filter: chroma( color =white);
            }


html+css:

Js代码  

  1. nbsp;HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">  
  2.   
  3.       
  4.           
  5.         css三角形  
  6.         
  7.             .tipArrow {  
  8.                 /*右边有颜色,其他透明*/  
  9.                 border-color: transparent #e00 transparent transparent;  
  10.                 border-style: solid;  
  11.                 border-width: 6px 6px 6px 0px;  
  12.                 padding: 0;  
  13.                 width: 0;  
  14.                 height: 0;  
  15.                 /* ie6 height fix */  
  16.                 font-size: 0;  
  17.                 line-height: 0;  
  18.                 /* ie6 transparent fix */  
  19.                 _border-top-color: #dddddd;  
  20.                 _border-bottom-color: #dddddd;  
  21.                 _filter: chroma( color = #dddddd);  
  22.             }  
  23.           
  24.       
  25.       
  26.     
      
  27.       
  28.   
  29.   
 

知道有些同学要直接看效果的,哈哈:看

 

下载

三角形是出来了,那我们看一个应用的例子(结合了之前写的fadeIn,fadeOut):

 

http://kingkit.com.cn/KUI/Tip.html

 

完整打包

 

 

  • Triangle3.rar 
  • 성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.