三种浏览器的识别问题:

#example { color: #333; } /* Moz */
* html #example { color: #666; } /* IE6 */
*+html #example { color: #999; } /* IE7 */

首先火狐不识别任何特殊符号,但是识别!important;而IE6识别*和_,而IE7则识别*也识别!important;但是不识别_

所以在出现IE7之前我们可以用!important;*来调整页面,但是IE7的出现却打乱了我们的方法!!

在大部分情况下,调整好火狐和IE7后,IE7不会出现太大的差距,一般情况下出现的问题就是

浮动ie产生的双倍距离

举一个网上大侠的例子:

#box{ float:left; width:100px; margin:0 0 0 100px; //这种情况之下IE会产生200px的距离
display:inline; //使浮动忽略}

这句display:inline很重要!!

这里牵扯到一个问题,因为IE存在CSS向后继承,而Firefox不支持,因此如果我们不对每个标签定义使用浮动float属性的话,在Firefox中就会出现DIV溢出。使排版混乱.

另外的问题就是margin属性的像素差问题.

举个例子来解决:

margin-left:30px!important;margin-left:28px;

由于!important;只有IE7和Firefox识别,因此会默认执行margin-left:30px,而IE6不识别!important;因此会执行margin-left:28px;这样,用相同的方法,我们就可以清除2px像素的差来达到无缝衔接.由于在使用margin 或padding 时,我们会发现padding所出现的差值问题要比margin少的多的多!因此我强烈建议大家能用padding的时候尽量不要使用margin,这样会减少很多麻烦.

收藏自:http://blog.edotpower.com/article.asp?id=35

, , ,

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

阅读全文

, , , ,

根据国务院文件,5.19-5.21为全国哀悼日,在此期间,全国和各驻外机构下半旗志哀,停止公共娱乐活动,外交部和我国驻外使领馆设立吊唁簿。5 月19日14时28分起,全国人民默哀3分钟,届时汽车、火车、舰船鸣笛,防空警报鸣响。并建议中国所有站 点更换为素装。国务院决定5月19日至21日为全国哀悼日,为方便站点哀悼,特提供css滤镜代码,以表哀悼。以下为全站CSS代码。

  1. html { filter: gray; }

或者

  1. html { filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); }

使用方法:这段代码可以变网页为黑白,将代码加到CSS最顶端就可以实现素装。建议全国站长动起来。为在地震中遇难的同胞哀悼。

  如果网站没有使用CSS,可以在网页/模板的HEAD之间插入:

  1. <style type="text/css">
  2. <!--
  3. html { filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); }
  4. --></style>
, , , , ,

不支持IE浏览器,代码如下:

  1. -moz-border-radius: 7px;
  2. -webkit-border-radius: 7px;

单独控制四个角

  1. -moz-border-radius-bottomleft:7px;
  2. -moz-border-radius-bottomright:7px;
  3. -moz-border-radius-topleft:7px;
  4. -moz-border-radius-topright:7px;
,

现在主流的浏览器分别是: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

, ,