div+css 兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器方法
发布时间:2023-01-15 04:21:45 来源:文档文库
小
中
大
字号:
div+css兼容ie6ie7ie8ie9和FireFoxChrome等浏览器方法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.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和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: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>>>>><#divclass=”NOTfloatC”>#div>之间加上<#divclass=”clear”>#div>这个div一定要注意声明位置,一定要放在最恰当的地方,而且必须与两个具有float属性的div同级,之间不能存在嵌套关系,否则会产生异常。并且将clear