资讯中心
News
网页存在兼容性疑问怎样处理?
发布时间:2022-09-27 00:00   您所在的位置: 网站首页 > 新闻资讯 > 经验杂谈

网站制作制作中由于不同的浏览器对CSS样式的解析方法不一样,从而造成了网页兼容问题。针对不同浏览器写不同CSS样式,这样的过程称为css hack。大伙都知道在现在ie浏览器的市场份额是较高的,其次便是火狐和chrome浏览器,可以说解决网页兼容问题便是针对这三款浏览器。

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

ie的每个版本中,0于ie6的版本差不多没有什么人在用,可以将其忽略,那么咋们设置css浏览器兼容的对象就集中在ie6~ie9。咋们可以通过以下方法来分别对不同浏览器设置css:
在</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

\0 color\0 No No No No Yes No

\9 color\9 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: pink\9; /* IE 8 及0于IE8版本 */
*background: green; /* IE 7 及0于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样式 * /
}

本文章由新概念互动原创,如没特殊注明,转载请注明来自:http://www.jianzhan0.com/jingyand/73543.html