常见的浏览器兼容性解决方法

目前,对于网页中一些浏览器兼容性问题,可以使用CSS Hack(CSS招数)和浏览器Bug修复的方式解决。其中,CSS Hack指的是针对特定浏览器编写冗余代码,这是一种欺骗浏览器的行为,预示着有更好的解决办法;而浏览器Bug修复是指针对浏览器本身的Bug,使用CSS自有的属性,进行浏览器显示问题的修复。因此,浏览器Bug修复代码是符合W3C标准规范的,建议能够使用浏览器Bug修复解决的兼容性问题,均使用该方法解决。

下面介绍一些常见的浏览器兼容性问题及解决办法。

1.IE有条件注释

<!--[if IE 8]>

<style type="text/css">

@import "test.css";

</style>

<![endif]-->

在语法中:

1. <!-[ifIE 8]>…<![endif]->:用于声明浏览器版本,在该版本浏览器中使用其中的样式表。

2. @import "test.css":使用导入式导入样式表。

2.子选择器招数

html>body{

background-image:url(bg.png);

}

在语法中:

html>body:针对IE6及其以下版本,隐藏造明图片bg.png.

浏览器兼容性问题怎么解决(浏览器常见的兼容问题及解决方法)(1)

3.*HTML招数

*html{

font-size:14px;

}

在语法中:

*html:针对IE6及其以下版本,设置字体大小为14px。

4.!important 招数

#nav{

font-size:18px!important;

font-size:14px;

}

在语法中:

Font-size:18px!important: 针对IE7及其以上版本,设置字体大小为18px.

font-size:14px: 针对IE6及其以下版本,设置字体大小为14px.

5.针对IE6~IE8的招数

针对IE6~IE8的招数如表所示。

同时设置多个浏览器的CSS Hack时,必须注意浏览器版本声明顺序:高→低,即IE8一IE7→E6。例如,设置<p>标签中文字大小在IE6中为14px,IE7中为16px,IE8中为18px,其余浏览器,如Firefox 中字体大小为12px,则CSS 代码如下所示。

P{

font-size:12px;

font-size:18px\0;

*font-size:16px;

_font-size:14px;

}

font-size:12px:针对所有浏览器设置字体大小为12px。针对所有浏览器设置的样式,始终位于第一条。

6.IE6双倍空白边距Bug修复

#nav{

float:left;

margin:10px;

display:inline;

}

产生条件:对某一元素,同时设置float属性和margin属性。

显示效果:在IE6中,左、右外边距加倍,上、下外边距无影响。

解决办法:增加 display:inline;。

7.清除浮动Bug修复

#father{

width:100%; /*宽度值可以为固定宽度值*/

overflow:hidden;

}

产生条件:父元素未设置浮动,而子元素设置了浮动。

显示效果:父元素高度得不到扩展,缩成一条,子元素从容器中溢出。

解决办法:为父元素设置 width:宽度值;和overflow:hidden;。

浏览器兼容性问题怎么解决(浏览器常见的兼容问题及解决方法)(2)