IE和火狐的css兼容性问题归总
IE和火狐的css兼容性问题归总
CSS对浏览器器的兼容性具有很高的价值,通常情况下IE和Firefox存在很大的解析差异,这里介绍一下兼容要点。
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 和 width
5、FF: 支持 !important, IE 则忽略, 可用 !important 为 FF
特别设置样式,值得注意的是,一定要将xxxx !important 这句放置在另一句之上
6、div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高
line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行
7、cursor: pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以
8、FF: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照
menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格。
9、在mozilla
firefox和IE中的BOX模型解释不一致导致相差2px解决方
法:div{margin:30px!important;margin:28px;}
注意这两个margin的顺序一定不能写反,据阿捷的说法!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实
解释成这样:div{maring:30px;margin:28px}
重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!important;
10、IE5 和IE6的BOX解释不一致
IE5下div{width:300px;margin:0 10px 0 10px;}
div的宽度会被解释为300px-10px(右填充)-10px(左填充)最终div的宽度为280px,而在IE6和其他浏览器上宽度则是
以 300px+10px(右填充)+10px(左填充)=320px来计算的。这时我们可以做如下修改div{width:300px!
important;width /**/:340px;margin:0 10px 0 10px}
关于这个/**/是什么我也不太明白,只知道IE5和firefox都支持但IE6不支持,如果有人理解的话,请告诉我一声,谢了!:)
11、ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值所以先定义
ul{margin:0;padding:0;}
就能解决大部分问题
注意事项:
1、float的div一定要闭合。
相关文档:
僞类 意义
:first-child 第一个孩子元素
:first-line&nb ......
<div style="padding-top:5px;width:200px;height:15px;background-color:#ffeeee"> test </div>
以上代码在IE中和firefox会有不同的效果.最主要原因是firefox解释padding-top与IE的效果不同
fixfox对DIV总高度是padding-top+height的,而IE中,padding-top是包含在height中的,
要解决这一个矛盾,可以利用!imp ......
jQuery提供css()的方法来实现嵌入式改变元素样式,css()方法在使用上具有多样性。其中一种接受两个输入参数:样式属性和样式值,它们之间用逗号分开。比如我们要改变链接颜色,我们可以使用下面的代码:$("#61dh a").css('color','#123456');
//这里选择器‘$("#61dh a")’表示ID为‘#61dh’的元素下的所有链接。
//.css( ......
原文网址:http://www.complexspiral.com/publications
Containing Floats
As powerful and useful as they are, floats can make for tricky layout tools. Chances are that you may have seen something like the situation shown in Figure 1, which is accomplished with just two div elements, each with a floate ......