如何处理网页兼容性问题

  在网站设计制作中由于不同的浏览器对CSS样式的解析方法不一样,从而造成了网页兼容问题。针对不同浏览器写不同CSS样式,这个过程称为css hack。 

  大家都知道在目前ie浏览器的市场份额是最高的,其次就是火狐和chrome浏览器,可以说解决网页兼容问题就是针对这三款浏览器。 

  为什么浏览器对css的解析不同?那么我将以那个浏览器最为标准呢?这是因为浏览器软件开发中存在的技术缺陷。一般来说火狐浏览器和chrome对css的解析是正确的,而ie则存在一些bug,我们总不能以一个错误的标准去修正我们的行为。所以我们首先用火狐或者google chrome浏览器来将网页的css样式设置好,然后对ie的各版本设置css兼容。 

  ie的各个版本中,低于ie6的版本几乎没有什么人在用,可以将其忽略,那么我们设置css浏览器兼容的对象就集中在ie6~ie9。我们可以通过以下方式来分别对不同浏览器设置css: 

  1、条件注释 

在</head>标记之前插入只对ie浏览器适用的条件注释代码。 

1<!--[if lt IE 7]>版本小于IE7将看到这行<![endif]--> 

2<!--[if lte IE 7]>版本小于或等于IE7将看到这行<![endif]--> 

3<!--[if IE 7]>版本如果是IE7将看到这行<![endif]--> 

4<!--[if gt IE 7]>版本大于IE7将看到这行<![endif]--> 

lt(小于)、gt(大于)、lte(小于或等于)、gte(大于或等于) 

实例代码: 

1<!--[if IE 6]> 

2<style type="text/css"> 

3 /* 针对IE6定义的样式 */ 

4</style> 

5<![endif]--> 

2、css hack 

针对特定版本的ie写css样式,以下是各版本ie的css hack写法列表: 

Hack Example IE6(S) IE6(Q) IE7(S) IE7(Q) IE8(S) IE8(Q)  

* *color Yes Yes Yes Yes No Yes  

+ +color Yes Yes Yes Yes No Yes  

- -color Yes Yes No No No No  

_ _color Yes Yes No Yes No Yes  

# #color Yes Yes Yes Yes No Yes  

color No No No No Yes No  

9 color9 Yes Yes Yes Yes Yes Yes  

!important color:blue !important;color:green; No No Yes No Yes No  

这里S代表standard标准模式,Q代表Quirks怪异模式 

实例代码: 

.box { 

    background: gray; /* 基本的 */ 

    background: pink9; /* IE 8 及低于IE8版本 */ 

    *background: green; /* IE 7 及低于IE7版本 */ 

    -background: blue; /* IE 6 */ 

  

3、针对google chrome浏览器的css hack: 

@media screen and (-webkit-min-device-pixel-ratio:0) { 

/ *  针对Google Chrome、Safari 3.0、Opera 9 的CSS样式 * / 

  

4、针对firefox浏览器的css hack: 

@-moz-document url-prefix(){ 

/ *  针对firefox的CSS样式 * / 

}

作者:宏点网络
来源:hongdianwangluo.com

兰州宏点信息技术有限责任公司,简称宏点网络,品牌网站与互联网应用服务商,成立于2001年8月28日。宏点网络致力于为成长中的政企客户提供互联网应用开发和配套服务。我们从事甘肃兰州中小企业网站建设、网页设计,各级政府站群、各类学校站群、大中型国企站群项目的实施,微信小程序开发和微信公众号开发以及苹果iOS的APP开发和安卓Android的APP开发等业务。
历史
400-6808-205
全国24小时客服专线