电子商务圈 >> 圈里圈外▼ >> 技术与安全 >> XHTML+CSS兼容性解决方案小集

标题:XHTML+CSS兼容性解决方案小集

elan 管理员
头衔 --
elan 积分 2171
威望 286
帖子 426
来自 井冈山
使用XHTML+CSS构架好处不少,但也确实存在一些问题,不论是因为使用不熟练还是思路不清晰,我就先把一些我遇到的问题写在下面,省的大家四处找。

1.在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法:

div{margin:30px!important;margin:28px;}
注意这两个margin的顺序一定不能写反,据阿捷的说法!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:

div{maring:30px;margin:28px}
重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!important;

2.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不支持,如果有人理解的话,请告诉我一声,谢了!:)

3.ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值所以先定义:

ul{margin:0;padding:0;}
就能解决大部分问题。

4.关于脚本,在xhtml1.1中不支持language属性,只需要把代码改为:

<script  type="text/javascript">
就可以了。

5.如果你在BOX容器里使float和text-align的方向设为一致:

{float:left;text-align:left;margin:0 0 0 200px;}
我们可做如下修改:

{float:left;text-align:left;margin:0 0 0 200px;display:inline;}

劳作·创作·炒作·一不做二不休 电子商务
61.144.226.* 楼主
elan 管理员
头衔 --
elan 积分 2171
威望 286
帖子 426
来自 井冈山
在设计《网页设计师》页面的时候,有一个问题一直困扰着我,主菜单在IE和其他(Mozilla、Opera等)浏览器里显示的效果偏差2px。截图如下:

IE中的效果


Mozilla Firefox中的效果


这是因为IE对盒之间距离的解释的bug造成的(参考onestab的" 浮动模型的问题 ")。我一直没有解决这个问题,直到我翻译 " 表格对决CSS--一场生死之战 "时,作者的一个技巧提示帮我找到了解决的方法:用!important。

!important是CSS1就定义的语法,作用是提高指定样式规则的应用优先权(参见:W3.org的解释)。语法格式{ sRule!important },即写在定义的最后面,例如:

box{color:red !important;}
最重要的一点是:IE一直都不支持这个语法,而其他的浏览器都支持。因此我们就可以利用这一点来分别给IE和其他浏览器不同的样式定义,例如,我们定义这样一个样式:

.colortest {
border:20px  solid #60A179 !important;
border:20px  solid #00F;
padding: 30px;
width : 300px;
}
在Mozilla中浏览时候,能够理解!important的优先级,因此显示#60A179的颜色:


在IE中浏览时候,不能够理解!important的优先级,因此显示#00F的颜色:


可以看到,利用!important,我们可以针对IE和非IE浏览器设置不同的样式,只要在非IE浏览器样式的后面加上!important。因此,上面提到的我的主页2px的显示差别也轻松解决:

PADDING-TOP: 11px !important;
PADDING-TOP: 9px;

!important必定成为CSS布局的利器,请记住和掌握它吧

劳作·创作·炒作·一不做二不休 电子商务
61.144.226.* #2
elan 管理员
头衔 --
elan 积分 2171
威望 286
帖子 426
来自 井冈山
css布局可以增加搜索引擎的友好度
劳作·创作·炒作·一不做二不休 电子商务
61.144.226.* #3
标题
使用表情识别
使用UBB代码
使用个人签名
现在回帖双倍积分!