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 特别设置样式

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 中插入一个空格。

阅读全文

, , , ,

现在主流的浏览器分别是:Internet Explorer 6, Internet Explorer 7和Firefox 2。这让我们在网站设计中不得不考虑如何使样式“crossover”。这里介绍一个较为简单的方法使样式的显示效果在上述三种浏览器中保持一致。

首先我们针对Firefox 2设计了如下的样式代码:

  1. #MyDiv { margin : 10px 10px 10px 10px; }

然后针对Internet Explorer 6进行样式修改,使用如下的代码语句,该代码只能被 IE 6 识别:

  1. /* IE6 Only */
  2. * html #MyDiv { margin : 5px 5px 5px 5px; }

最后针对Internet Explorer 7进行如下样式修改,该代码也只能被 IE 7 识别:

  1. /* IE7 Only */
  2. *:first-child+html #MyDiv { margin : 2px 2px 2px 2px; }

通过上面的方法,你应该能够让你的设计样式更具通用性了。

转自Smartr.cn

, ,