完美实现IE6IE7Firefox兼容的通用方法

完美实现IE6IE7Firefox兼容的通用方法

  本文和大家重点讨论一下完美兼容IE6/IE7/Firefox的通用方法,相信通过本文的介绍你对这些方法一定会有深刻的认识。

  完美兼容IE6/IE7/Firefox的通用方法

  关于CSS对各个浏览器兼容已经是老生常谈的问题了,网络上的教程遍地都是。以下内容没有太多新颖,纯属个人总结,希望能对初学者有一定的帮助。

  一、CSSHACK

  以下两种方法几乎能解决现今所有HACK.

  1,!important

  随着IE7对!important的支持,!important方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.) 

  <style>
  #wrapper  
  {  
  width:100px!important;/*IE7+Firefox*/  
  width:80px;/*IE6*/  
  }  
  </style>

  2,IE6/IE77对FireFox

  *+html与*html是IE特有的标签,firefox暂不支持.而*+html又为IE7特有标签. 

  <style>
  #wrapper  
  {  
  #wrapper{width:120px;}/*FireFox*/  
  *html#wrapper{width:80px;}/*ie6fixed*/  
  *+html#wrapper{width:60px;}/*ie7fixed,注意顺序*/  
  }  
  </style>

  注意:
  *+html对IE7的HACK必须保证HTML顶部有如下声明: 

  <!DOCTYPEHTMLPUBLIC”-//W3C//DTDHTML4.01Transitional//EN”   
  ”4/loose.dtd”>

  二、万能float闭合(非常重要!)

  关于clearfloat的原理可参见[HowToClearFloatsWithoutStructuralMarkup]
  将以下代码加入GlobalCSS中,给需要闭合的div加上class=”clearfix”即可,屡试不爽.

  <style>
  /*ClearFix*/  
  .clearfix:after  
  {  
  content:”.”;  
  display:block;  
  height:0;  
  clear:both;  
  visibility:hidden;  
  }  
  .clearfix  
  {  
  display:inline-block;  
  }  
  /*HidefromIEMac*/  
  .clearfix{display:block;}  
  /*EndhidefromIEMac*/  
  /*endofclearfix*/  
  </style>

  三、其他兼容技巧

  1,Firefox下给div设置padding后会导致width和height增加,但IE不会.(可用!important解决)

  2,居中问题.

  1).垂直居中.将line-height设置为当前div相同的高度,再通过vertical-align:middle.(注意内容不要换行.)
  2).水平居中.margin:0auto;(当然不是万能)
  3,若需给a标签内内容加上样式,需要设置display:block;(常见于导航标签)
  4,Firefox和IE对BOX理解的差异导致相差2px的还有设为float的div在ie下margin加倍等问题.
  5,ul标签在Firefox下面默认有list-style和padding.最好事先声明,以避免不必要的麻烦.(常见于导航标签和内容列表)
  6,作为外部wrapper的div不要定死高度,最好还加上overflow:hidden.以达到高度自适应.
  7,关于手形光标.cursor:pointer.而hand只适用于IE.

  本篇文章来自<Ahref=’
   

完美实现IE6IE7Firefox兼容的通用方法

相关文章:

你感兴趣的文章:

标签云: