资源描述:
《(十年积累)div+css 完全兼容ie6 ie7 ie8 ie9 和firefox方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、(十年积累)div+css完全兼容ie6ie7IE8IE9和firefox方法简单方法:IE6,IE7,IE8,FF的兼容方法(2)浏览器兼容代码:浏览器符号IE6IE7IE8FF*!important_9*html*+html说明:代表能识别;代表不识别1、案例一(常用)如果各个浏览器的高度都不相同,代码如下:.warp{Height:100px;/*IE6、IE7、I浏览器兼容代码:浏览器符号IE6IE7IE8FF*√√××!important×√×√_√×××9××√×*html√×××*+html×√×× 说明:”√”代表
2、能识别;”×”代表不识别1、 案例一(常用)如果各个浏览器的高度都不相同,代码如下:.warp{Height:100px; /*IE6、IE7、IE8、FF识别*/Height:110px9; /*IE8识别*/*height:120px!important; /*IE7识别*/*height:130px; /*IE6、IE7识别,但上一段代码中!important的级别比*号的级别高,所以此段代码只有IE6中才有效*/} 2、 案例二如果各浏览器高度只有IE6和IE7中相同,
3、而FF不同,代码如下:原理:1.DOCTYPE影响CSS处理2.FF:div设置margin-left,margin-right为auto时已经居中,IE不行3.FF:body设置text-align时,div需要设置margin:auto(主要是margin-left,margin-right)方可居中4.FF:设置padding后,div会增加height和width,但IE不会,故需要用!important多设一个height和width5.FF:支持!important,IE则忽略,可用!important为FF特别设置样式6
4、.div的垂直居中问题:vertical-align:middle;将行距增加到和整个DIV一样高line-height:200px;然后插入文字,就垂直居中了。缺点是要控制内容不要换行7.cursor:pointer可以同时在IEFF中显示游标手指状,hand仅IE可以8.FF:链接加边框和背景色,需设置display:block,同时设置float:left保证不换行。参照menubar,给a和menubar设置高度是为了避免底边显示错位,若不设height,可以在menubar中插入一个空格。9.在mozillafirefox和
5、IE中的BOX模型解释不一致导致相差2px解决方法:div{margin:30px!important;margin:28px;}注意这两个margin的顺序一定不能写反,据阿捷的说法!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:div{maring:30px;margin:28px}重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!important;11.ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值所以先定义ul{margin
6、:0;padding:0;}就能解决大部分问题注意事项:1、float的div一定要闭合。例如:(其中floatA、floatB的属性已经设置为float:left;)<#divid=”floatA”>#div><#divid=”floatB”>#div><#divid=”NOTfloatC”>#div>这里的NOTfloatC并不希望继续平移,而是希望往下排。这段代码在IE中毫无问题,问题出在FF。原因是NOTfloatC并非float标签,必须将float标签闭合。在<#divclass=”floatB”>#div
7、><#divclass=”NOTfloatC”>#div>之间加上<#divclass=”clear”>#div>这个div一定要注意声明位置,一定要放在最恰当的地方,而且必须与两个具有float属性的div同级,之间不能存在嵌套关系,否则会产生异常。并且将clear这种样式定义为为如下即可:.clear{clear:both;}此外,为了让高度能自动适应,要在wrapper里面加上overflow:hidden;当包含float的box的时候,高度自动适应在IE下无效,这时候应该触发IE的layout私有属性(万恶的IE啊!
8、)用zoom:1;可以做到,这样就达到了兼容。例如某一个wrapper如下定义:.colwrapper{overflow:hidden;zoom:1;margin:5pxauto;}2、margin加倍的问题设置为flo