google的chrome出来之后,大家又要有一个浏览器的兼容性问题要解决了,比如目前用的这个博客皮肤在IE下一切正常,但是到了chrome下面,页脚footer就严重错位了,偏向右侧,但是总的解决吧,所以找了找,找到这种方法,写出来希望对大家有帮助。

比如我们要定义一个距离左边距的CSS,可以这样写页脚错位


#footer {
border: none;
padding: 20px;
padding-bottom: 60px;
margin: 0 auto;
width: 700px;
clear: both;
position: relative;
left: 41px;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {#footer{left:-82px;}}

其中上面红色部分代码为控制页脚边距的,具体到各个浏览器可以使用下面的代码。

#footer{
left: 41px;/*firefox*/
*left: 41px !important;/*IE7*/
*left: 41px;/*IE6*/
}
@media screen and (-webkit-min-device-pixel-ratio:0) {#footer{left:-82px;}}

以上代码的具体原理为:

1) left: 41px;这个对应Firefox
2)*left: 41px !important; 对应IE7,虽然FireFox可以识别!important,但它不能识别"*",同时IE6无法识别!important,IE6就会去读取后面的第3条
3) *left: 41px; 对应IE6
4) @media screen and (-webkit-min-device-pixel-ratio:0) {#footer{left:-82px;}} 只有Safri、Chrome等浏览器能识别

这样做的缺点就是CSS代码会很长,对w3c验证也有影响,所以能不用的就尽量不用。

无评论

  • :arrow:
  • :grin:
  • :???:
  • :cool:
  • :cry:
  • :shock:
  • :evil:
  • :!:
  • :idea:
  • :lol:
  • :mad:
  • :mrgreen:
  • :neutral:
  • :?:
  • :razz:
  • :oops:
  • :roll:
  • :sad:
  • :smile:
  • :eek:
  • :twisted:
  • :wink: