您的位置:首页 > 其它

完美兼容IE6 IE7 FF的通用方法

2011-11-15 20:34 218 查看
本文和大家重点讨论一下完美兼容IE6 IE7 FF的通用方法,IE的兼容性问题有很多值得学习的地方,相信通过本文的学习你对IE兼容性有更加深刻的认识。

完美兼容IE6 IE7 FF的通用方法

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

一、CSSHACK

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

1、important

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

<style>
#wrapper
{
width:100px!important;/*IE7+FF*/
width:80px;/*IE6*/
}
</< span>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,注意顺序*/
}
</< span>style>

注意:

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

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"
 "http://www.w3.org/TR/html4/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*/
</< span>style>

三、其他兼容技巧

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

2、居中问题.

1).垂直居中.将line-height设置为当前div相同的高度,再通过vertical-align:middle.(注意内容不要换行.)

2).水平居中.margin:0auto;(当然不是万能)

3,若需给a标签内内容加上样式,需要设置display:block;(常见于导航标签)

4,FF和IE对BOX理解的差异导致相差2px的还有设为float的div在ie下margin加倍等问题.

5,ul标签在FF下面默认有list-style和padding.最好事先声明,以避免不必要的麻烦.(常见于导航标签和内容列表)

6,作为外部wrapper的div不要定死高度,最好还加上overflow:hidden
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: