当前位置:文档之家› Windows系统下各浏览器兼容性

Windows系统下各浏览器兼容性

Windows系统下各浏览器兼容性
Windows系统下各浏览器兼容性

Windows系统下各浏览器常用CSS HACK汇总表

1. 此汇总表中测试浏览器的版本为:

微软系统自带:IE6、IE7、IE8

火狐:Firefox 3.6.6

Safari:Safari 5.0

谷歌浏览器:Chrome 6.0.458.1 dev

Opera浏览器:Opera 10.60

2. 其中,多数CSS hack是在selector{property:value;}基础上更改的。

selector代表CSS选择器,property代表CSS特性,value代表特性的值。

3. FF代表Firefox,Ch代表Chorme,Sa代表Safari,Op代表Opera

4. Q代表Quirks Mode,S代表Standards Mode。

5. Hack Type列的数字,指的是上面CSS hack的实现方式中的列表号。

1是指“利用浏览器对相同代码的解析和支持的不同实现的hack”,2是指以Firefox或Webkit 特有的扩展样式实现的hack。

一定遵守CSS hack的三条原则。CSS hack是没有办法的时候才使用的解决兼容性问题的招术,是用兼容性问题去解决兼容性问题,无异于饮鸩止渴。切莫一有兼容性问题就使用,时刻记得改掉用CSS hack修补的问题。

IE6、IE7、IE8、Firefox兼容性CSS HACK代码+示例1.区别IE和非IE浏览器CSS HACK代码

#divcss5{

background:blue; /*非IE 背景藍色*/

background:red \9; /*IE6、IE7、IE8背景紅色*/

}

2.区别IE6,IE7,IE8,FF CSS HACK

【区别符号】:「\9」、「*」、「_」

【示例】:

#divcss5{

background:blue; /*Firefox 背景变蓝色*/

background:red \9; /*IE8 背景变红色*/

*background:black; /*IE7 背景变黑色*/

_background:orange; /*IE6 背景变橘色*/

}

【说明】:因为IE系列浏览器可读「\9」,而IE6和IE7可读「*」(米字号),另外IE6可辨识「_」(底线),因此可以依照顺序写下来,就会让浏览器正确的读取到自己看得懂得CSS 语法,所以就可以有效区分IE各版本和非IE浏览器(像是Firefox、Opera、Google Chrome、Safari等)。

3.区别IE6、IE7、Firefox (EXP 1)

【区别符号】:「*」、「_」

【示例】:

#divcss5{

background:blue; /*Firefox背景变蓝色*/

*background:black; /*IE7 背景变黑色*/

_background:orange; /*IE6 背景变橘色*/

}

【说明】:IE7和IE6可读「*」(米字号),IE6又可以读「_」(底线),但是IE7却无法读取

「_」,至于Firefox(非IE浏览器)则完全无法辨识「*」和「_」,因此就可以透过这样的差异性来区分IE6、IE7、Firefox

4.区别IE6、IE7、Firefox (EXP 2)

【区别符号】:「*」、「!important」

【示例】:

#divcss5{

background:blue; /*Firefox 背景变蓝色*/

*background:green !important; /*IE7 背景变绿色*/

*background:orange; /*IE6 背景变橘色*/

}

【说明】:IE7可以辨识「*」和「!important」,但是IE6只可以辨识「*」,却无法辨识「!important」,至于Firefox可以读取「!important」但不能辨识「*」因此可以透过这样的差异来有效区隔IE6、IE7、Firefox。

5.区别IE7、Firefox

【区别符号】:「*」、「!important」

【示例】:

#divcss5{

background:blue; /*Firefox 背景变蓝色*/

*background:green !important; /*IE7 背景变绿色*/

}

【说明】:因为Firefox可以辨识「!important」但却无法辨识「*」,而IE7则可以同时看懂「*」、「!important」,因此可以两个辨识符号来区隔IE7和Firefox。

6.区别IE6、IE7 (EXP 1)

【区别符号】:「*」、「_」

【示例】:

#tip {

*background:black; /*IE7 背景变黑色*/

_background:orange; /*IE6 背景变橘色*/

}

【说明】:IE7和IE6都可以辨识「*」(米字号),但IE6可以辨识「_」(底线),IE7却无法辨识,透过IE7无法读取「_」的特性就能轻鬆区隔IE6和IE7之间的差异。

7.区别IE6、IE7 (EXP 2)

【区别符号】:「!important」

【示例】:

#divcss5{

background:black !important; /*IE7 背景变黑色*/

background:orange; /*IE6 背景变橘色*/

}

【说明】:因为IE7可读取「!important;」但IE6却不行,而CSS的读取步骤是从上到下,因此IE6读取时因无法辨识「!important」而直接跳到下一行读取CSS,所以背景色会呈现橘色。

8.区别IE6、Firefox

【区别符号】:「_」

【示例】:

#divcss5{

background:black; /*Firefox 背景变黑色*/

_background:orange; /*IE6 背景变橘色*/

}

【说明】:因为IE6可以辨识「_」(底线),但是Firefox却不行,因此可以透过这样的差异来区隔Firefox和IE6,有效达成CSS hack。

以上包括了IE6\IE8\IE7\火狐浏览器兼容问题及解决方法。

CSS Hack汇总快查(CSS兼容代码演示)

以下是常用CSS HACK问题及解决代码-DIV+CSS网支持

1、屏蔽IE浏览器(也就是IE下不显示)

*:lang(zh) select {font:12px !important;} /*FF的专用*/

select:empty {font:12px !important;} /*safari可见*/

这里select是选择符,根据情况更换。第二句是MAC上safari浏览器独有的。

2、仅IE7识别hack

*+html {…}

当面临需要只针对IE7做样式的时候就可以采用这个HACK。

3、IE6及IE6以下识别CSS HACK

* html {…}

这个地方要特别注意很多地主都写了是IE6的HACK其实IE5.x同样可以识别这个HACK。其它浏览器不识别。

html/**/ >body select {……}

这句与上一句的作用相同。

4、仅IE6不识别div hack

select { display /*IE6不识别*/:none;}

这里主要是通过CSS注释分开一个属性与值,流释在冒号前。

5、仅IE6识别支持

.yangshi{_height:20px;}

这里IE6支持识别CSS属性前“_”短下划线。

6、仅IE6与IE5不识别

select/**/ { display /*IE6,IE5不识别*/:none;}

这里与上面一句不同的是在选择符与花括号之间多了一个CSS注释。

7、仅IE5不识别

select/*IE5不识别*/ { display:none;}

这一句是在上一句中去掉了属性区的注释。只有IE5不识别

8、盒模型解决方法

selct {width:IE5.x宽度; voice-family :"\"}\""; voice-family:inherit; width:正确宽度;}

盒模型的清除方法不是通过!important来处理的。这点要明确。

9、清除浮动

select:after {content:"."; display:block; height:0; clear:both; visibility:hidden;}

在Firefox中,当子级都为浮动时,那么父级的高度就无法完全的包住整个子级,那么这时用这个清除浮动的HACK来对父级做一次定义,那么就可以解决这个问题。

10、截字省略号

select { -o-text-overflow:ellipsis; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; } 这个是在越出长度后会自行的截掉多出部分的文字,并以省略号结尾,很好的一个技术。只是目前Firefox并不支持。

11、只有Opera识别

media all and (min-wid th: 0px){ select {……} }

针对Opera浏览器做单独的设定。

以上都是写CSS中的一些HACK,这些都是用来解决局部的兼容性问题,如果希望把兼容性的容也分离出来,不妨试一下下面的几种过滤器。这些过滤器有的是写在CSS过过滤器导入特别的样式,也有的是写在HTML中的通过条件来或是导入需要的补丁样式。

12、IE的if条件Hack

所有的IE可识别

只有IE5.0可以识别

IE5.0包换IE5.5都可以识别

仅IE6可识别

IE6以及IE6以下的IE5.x都可识别

仅IE7可识别

13、仅IE8兼容识别

div{height:20px\9;}

这里的“\9”仅IE8支持识别

解决PNG图片在IE6中背景不透明方

1、解决PNG图片在IE6中背景不透明的CSS与JS代码- TOP JS代码

function correctPNG() // correctly handle PNG transparency in Win IE 5.5 & 6.

{

var arVersion = navigator.appVersion.split("MSIE")

var version = parseFloat(arVersion[1])

if ((version >= 5.5) && (document.body.filters))

{

for(var j=0; j

{

var img = document.images[j]

var imgName = img.src.toUpperCase()

if (imgName.substring(imgName.length-3, imgName.length) == "PNG")

{

var imgID = (img.id) ? "id='" + img.id + "' " : ""

var imgClass = (img.className) ? "class='" + img.className + "' " : ""

var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "

var imgStyle = "display:inline-block;" + img.style.cssText

if (img.align == "left") imgStyle = "float:left;" + imgStyle

if (img.align == "right") imgStyle = "float:right;" + imgStyle

if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle

var strNewHTML = "

+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"

+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"

+ "(src=\'" + img.src + "\', sizingMethod='scale');\">"

img.outerHTML = strNewHTML

j = j-1

}

}

}

}

window.attachEvent("onload", correctPNG);

CSS代码:

#id{background:url(图片路径) ;_filter:

progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true', sizingMethod='scale',

src="图片路径");_background:none;}

2、解决png图片在html中IMG标签使用PNG图片IE6中背景不透明方法- TOP

1、新建一个JS文件为iepngfx.js,进以上JS代码拷贝到JS文件里

2、在HTML中声明只有IE6读取此新建JS文件iepngfx.js中

只允许IE6读取此JS文件方法:

3、在html中使用图片标签IMG运用PNG图片,在IE6试试看PNG图片背景是否透明了。

3、在CSS中png作为网页背景时在IE6中背景透明方法- TOP

同样方法

1、新建JS文件同上,命名为iepngfx.js,进以上JS代码拷贝到JS文件里

2、在HTML中声明只有IE6读取此新建JS文件iepngfx.js中

只允许IE6读取此JS文件方法:

3、在CSS中运用PNG图片作为背景的地方加入以下CSS代码:

#id{background:url(图片路径) ;_filter:

progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true', sizingMethod='scale', src="图片路径");_background:none;}

这样即可解决PNG图片在HTML中img作为图片图标背景不能透明或PNG图片作为网页背景background运用的一样实现PNG图片背景透明

CSS 针对谷歌浏览器(Chrome) safari的webkit核心浏览器CSS hack

我们知道和会运用CSS IE 火狐浏览器之间的区别DIV+CSS HACK,这里为大家再介绍下区别谷歌浏览器(Chrome)苹果浏览器(safari)与IE之间的hack;

只有webkit核心浏览器的谷歌浏览器、safari浏览器识别的CSS hack

Chrome和safari的CSS hack代码,只有谷歌浏览器苹果浏览器读取CSS代码:media screen and (-webkit-min-device-pixel-ratio:0) {

/* Webkit核兼容CSS */

}

例:

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

.yangshi1{color:#f00}

.yangshi2{border:1px solid #f00;}

.yangshi3{background:#f00;}

}

HTML代码:


divcss5样式2


div+css样式3

总DIV CSS代码:

谷歌浏览器和safari webkit独有区别其它浏览器css hack演示

css样式1


divcss5样式2


div+css样式3

可自己动动手复制以上完整演示代码,自己实例实例增加记忆和使用技巧知识演示效果图:

css hack演示图

说明:左边下方为IE浏览器显示效果,右边上方为谷歌浏览器显示效果,很明显Chrome 支持独有生效的此CSS hack代码。

CSS网页错位之DIV CSS宽度计算

DIV CSS宽度计算之CSS网页布局错位

为什么计算宽度

计算网页像素宽度是为了CSS网页布局整齐与兼容。常见的我们布局左右结构网页或使用padding、margin布局的时候将计算整页宽度,如果不计算无论是宽度过大过小就会出现错位问题。

怎么计算CSS宽度

例一:我们计算一个左右结构的布局样式。

假如总宽度为400px,那么左右加起来就应当小于400px,那我们可能左边为300px,右边为100px

正确代码:

左右结构宽度计算www.divcss5.

左边300px

右边100px

以上为正确的左右结构总宽度刚好等于400px

错误:

假如我们在总宽度不变情况下,左边为300px,而右边为120px那总宽度超过了20px,我们看看会出现什么问题,DIV+CSS代码如下:

左右结构宽度计算www.divcss5.

左边300px

右边100px

我们根据上图可看出因为总宽度大约了20px,所以导致了左右结构不能平齐,就出现了右边往下掉。

这样就出现了错位的兼容问题,一般在实际中因为我们计算的疏忽,一般相差小的时候是1px-2px,那样就不会被我们发现,所以排除错位兼容可以从宽度计算入手。

例二:左右结构中有1px边框实例

一般左右结构中有1px边框,然后再加上有些边框这时我们设置左右结构时候就需要将此边框宽度与左右结构宽度计算在一起。

正确例子:

CSS与html代码如下:

左右结构宽度计算www.divcss5.

左边300px

右边100px

结果图:

因左右结构都有1px的宽度这个时候各需要减去左右2像素的边框宽度,所以左边最后是298px,右边为98px的宽度

如果不减去边框将会造成一下效果:

DIV+CSS设置百分比宽度计算

有时候我们也需要使用百分比来计算宽度,通常情况也是总的百分比宽度,不能超过100%

CSS宽度计算时候注意总结:

无论是左右结构、多列的布局还是单独一个DIV宽度的布局设置都需要注意宽度的把握与计算,特别是使用了padding、margin、边框等CSS属性,这个时候我们都需要将它们设置的占用宽度计算入,牢牢把握同排各宽度之和小于或等于总宽度,如果大于总宽度将会出现错位的兼容问题。所以一般错位时我们就可以从计算宽度入手,当然错位还有很多原因这里也是解决错位兼容问题的方法之一。

CSS失效网页乱码原因兼容问题-手写CSS代码注意什么?

乱码VS编码

前面我们介绍过导致网页乱码、CSS失效等原因一部分是由于自己编写的时候没有注意编码问题,不编码转化问题,常常因为自己写的时候使用一种编码,发现别人比较好的

DIV+CSS片段比较好直接就复制过来用,结果别人编码与自己编码不符合从而造成网页在IE中呈现乱码,或CSS失效(CSS声明)。解决办法使用软件中编码转化功能进行网页代码转化。如使用Dreamweaver中功能转化编码。-了解语言编码charset网页编码知识

大小写VS失效

1、CSS命名选择符大小写为注意

常常我们在写html时候使用标签的时候使用全角或中文输入法的时候我们能看出毛病来,但是在手写CSS代码的时候因为自己把CSS命名的选择符这个“.”(点)大写结果会造成此CSS选择器失效,所以注意CSS选择符大小写。(一定使用半角英文输入法小写)

2、CSS属性中分号大小写

在写CSS选择器的CSS属性的时候,我们常常因为未注意每个CSS属性和对应值结束的时候需要用“;”(分号)结束分割,或未写或大写都会造成此后的这个选择器属性失效。当然一个CSS属性选择器最后一个可以不加分号结束,但是我们为了养成良好的习惯一定加上。(每个CSS选择器花括号的CSS属性结束一定要以半角小写分号“;”结束。)

DIVCSS5总结:

无论是使用工具制作DIV CSS网页还是手写,平时多注意这些小问题,一点一滴积累和养成好的习惯将会让你在制作网页时候不易出错,记住细节决定成败!

IE的if条件css hack

针对不同的IE浏览器版本,使用if条件来设置对应css样式,从而解决css hack

所有的IE可识别

只有IE5.0可以识别

IE5.0包换IE5.5都可以识别

仅IE6可识别以的css样式

IE6以及IE6以下的IE5.x都可识别

仅IE7可识别以的css样式

特别说明ie8不能使用if条件来设置div css样式,这里的“

通过以上的if条件来对不同版本浏览器调用不同css样式来解决css hack方法。

实例如下:

接下来我们只实验一个只有微软IE可识别,火狐不识别例子代码如下

"https://www.doczj.com/doc/2317031252.html,/TR/xhtml1/DTD/xhtml1-transitional.dtd">

IE的if条件css hack实例

<!--[if IE]> Only IE <![endif]-->

我是.divcss5.测试样式

截图如下

左边为微软IE浏览器,右边为火狐浏览器,通过if条件对样式设置只在ie中起作用后效果图。

特别说明的if条件在ie8中不能生效。

区别IE8浏览器的CSS hack

上次我们介绍了ie6、ie7、火狐(firefox)浏览器的css hack区别方法及运用,接下来我们介绍微软最新IE成员ie8与前面浏览器的css hack写法区别。在使用css hack中我们运用了CSS读取原理。同时安装ie6、ie7、ie8浏览器方法:IETester浏览器测试工具介绍。

CSS hack区分如下——注意顺序与浏览器CSS HACK位置:

CSS hack:区分IE6,IE7 ,IE8,firefox

区别不同浏览器,CSS hack写法:

区别FF与IE6:

background:orange;*background:blue; 解释:FF只能识别background:orange; IE6识别*background:blue;

区别IE7与IE6:

background:green !important;background:blue;或者

*background:green;_background:blue;

区别IE6与IE8:

background:orange; /*/background:blue;/**/

区别IE7与IE8:

background:orange; /*/background:blue;/**/

区别FF与IE7:

background:orange; *background:green !important;

区别FF,IE7,IE8,IE6:

background:orange;*background:green

important;background:#111\9;_background:blue;

或者使用

区别FF,IE7,IE8,IE6:

background:orange;*background:green !important;background:#111\9;*background:blue;

CSS Hack实例例子:

"https://www.doczj.com/doc/2317031252.html,/TR/xhtml1/DTD/xhtml1-transitional.dtd">

DIV+CSS各浏览器css hack测试,https://www.doczj.com/doc/2317031252.html,测试

我是测试颜色,不在不同浏览器下显示颜色不同哦!-

href=".divcss5./">DIV+CSS

我是颜色在IE6显示

我是颜色在ie7显示

我是颜色在ie8显示

我是颜色在火狐(firefox)显示

在线演示-点击这里

以上代码你拷贝到一个新建的html文件在不同版本浏览器测试就会有不同效果。运用此例子即可解决我们在日常DIV+CSS开发时候的css hack问题。

同时我们如果不想那么的麻烦来做IE8的css hack,我们只需要在html的之间加入,最好加到CSS文件下发即可,在IE8 下和IE7下显示容相同,这样我们只需区分IE6、IE7、火狐(firefox)的css hack即可。很多大型站点都采用在head加入此代码来减少css bug。

CSS hack之区别不同浏览器的写法

我们在开发DIV+CSS页面时候常常会遇到开发出的网页的一些地方在各大浏览器比如微软IE6、微软IE7、微软IE8、火狐浏览器、谷歌浏览器有一些不同,如宽度、高度等地方有相差误。

IE6比较老的版本浏览器,用户比较多,

IE7较新浏览器,更接近标准浏览器,

IE8算是微软标准浏览器,但差别于浏览器,

火狐(Mozilla, Firefox)和谷歌浏览器(chrome)是比较标准的IE浏览器,一般我们以这个浏览器为开发参考平台,同时IE8与这两个浏览器解释CSS比较接近,一般只要通过火狐、谷歌浏览器测试兼容,一般就能确定IE8.

因此一般我们区别这些浏览器CSS hack的方法就变得简单,我们只需考虑IE6\IE7\火狐(Firefox)这3个浏览器即可兼容全部浏览器。

具体区别如下:

区别IE6与FF:

background:orange;*background:blue;

区别IE6与IE7:

background:green !important;background:blue;

区别IE7与FF:

background:orange; *background:green;

区别FF,IE7,IE6:

background:orange;*background:green !important;*background:blue;

注:IE都能识别*;标准浏览器(如FF)不能识别*;

IE6能识别*,但不能识别!important,

IE7能识别*,也能识别!important;

FF不能识别*,但能识别!important;以下是各浏览器CSS hack表格

IE6IE7FF

*√√×

!important×√√

另外再补充一个,下划线"_",

IE6支持下划线,IE7和firefox均不支持下划线。

于是大家还可以这样来区分IE6,IE7,firefox:

background:orange;*background:green;_background:blue;

注:不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中间,IE6的写在最后面。

以上是介绍区别各浏览器的CSS hack的写法,下面我们简单介绍这些CSS hack用法:

要求说明:假如我们设置一个类名为exple的类CSS属性,CSS样式边框为1PX黑色边框,高度为100PX并要求,在IE6浏览器下宽度为100PX;IE7浏览器宽度下为150PX;火狐IE8谷歌浏览器下宽度为200PX;(PX是长度单位像素)

则CSS代码如下:

.exple{border:1px solid #000; height:100px;width:200px; *width:150px !important;

*width100px;}

这样只要在html设置一个div的类(class="exple"),这样这部分在火狐、IE8、谷歌浏览器下就会显示宽度为200px高度为100px带1px的黑边框的方块;IE7浏览器宽度下为150PX 高度为100px带1px的黑边框的方块;在IE6浏览器下就会显示出长度和宽度为100px的带1px黑边的正方形。

浏览器兼容性案例分析

浏览器兼容性案例分析: 1.不同浏览器的标签默认的外补丁和内补丁不同 问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。 碰到频率:100% 解决方案:CSS里 *{margin:0;padding:0;} 备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设置各个标签的内外补丁是0。 2.IE6下不支持png图片 问题症状:IE6下不显示png图片。 碰到频率:100% 解决方案: 3.IE6下不支持:hover 问题症状:IE6下不支持:hover。 碰到频率:100% 解决方案:改成js方法 4.相同名称的样式被定义了多次,但不知道在定义在哪里 问题症状:相同名称的样式被定义了多次,但不知道定义在哪里,导致样式冲突。 碰到频率:100% 解决方案:最简单的办法是在样式后面添加!important,这样可以保持这个样式一直被调用。 .bHidden { display:none !important; }

5.单行双列自适应宽度,IE6中出现错行现象解决办法 问题症状: 调整单行双列自适应宽度布局,随着浏览器窗口大小自动改变left和right层的宽度。代码如下:

运行以上代码,在IE6中偶尔会出现错行现象: 主要原因:在IE6中采用四舍五入的方法计算宽度,那么随着浏览器窗口的大小调整,left和right 按25%、75%计算,四舍五入,(left+right)总宽度会大于浏览器窗口宽度即(main)宽度,right层就会自动跳行至左侧浮动。 碰到频率:100% 解决方案: 在#right样式中添加:clear:right;代码。如 #right{width:75%; clear:right;background:#939393;} 6.块属性标签float后,又有横行的margin情况下,在IE6显示margin比设置的大 解决方案:在float的标签样式控制中加入 display:inline;将其转化为行内属性 7. 设置较小高度标签(一般小于10px),在IE6,IE7,遨游中高度超出自己设置高度 解决方案:给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度。

IE11兼容性设置方法及常见问题处理方法

1 IE11兼容性设置方法及常见问题处理方法 在我们的日常生活中,经常打开一些如银行网银、QQ 空间、一些公司内网网站,但是由于新的IE 可能与现有网页的版本存在兼容性问题,可能出现插件无法安装,网页无法打开情况,这就需要考虑使用兼容性设置的方法来解决以上问题,下面详细说明设置方法: 1)打开ie,点击设置“齿轮”,再点击兼容性视图设置,如下图: 2)点击“添加”按钮来添加要使用兼容模式的网站,并点击“关闭”;

2 3)在桌面IE 模式中,按键盘“F12”按钮调出左侧;黑色菜单,如右图,选择最后一项,将用户代理;字符串选择为IE10、IE8、IE7、IE6试试。 IE 11常见问题问题及处理方法: Q :腾讯QQ 空间、QQ 音乐、DZ 论坛无法正常浏览 A :目前暂无更好解决方案,只能尝试使用兼容性设置,若无效建议等待以上网站更新以支持最新的IE11增强保护模式暂不完善。 Q :无法新建选项卡,,首页设置为空白打开出错,工行网银助手无法正常使用 A :IE 选项-高级取消"启用增强保护模式"勾选,确定,关闭并重新打开IE 即可恢复。 Q :优酷等视频网站无法浏览,支付宝、建行等插件无法正常使用 A :点击兼容性视图按钮即可,如果无法显示兼容性视图按钮,点击工具-兼容性视图设置,添加https://www.doczj.com/doc/2317031252.html, (支付宝)、https://www.doczj.com/doc/2317031252.html, (建行),安装插件后即可正常登录,如果还是不行,可以安装其他浏览器试试。 Q :网页字体模糊,或者各种显示异常。兼容性视图无效 A :打开Internet 选项,高级选项卡,将“加速的图形”分类下的“使用软件呈现而不使用GPU 呈现”勾选,确定,关闭并重新打开IE 即可。

浏览器兼容性问题及解决方案

浏览器兼容新问题 W3C对标准的推进,Firefox,Chrome,Safari,Opera的出现,结束了IE雄霸天下的日子。 然而,这对开发者来说,是好事,也是坏事。 说它是好事,是因为浏览器厂商为了取得更多的市场份额,会促使各浏览器更符合W3C标准,而得到更好的兼容性,并且,不同浏览器的扩展功能(例如-moz,-webkit开头的样式),对W3C标准也是个推进;说它是坏事,因为,多个浏览器同时存在,这些浏览器在处理一个相同的页面时,表现有时会有差异。这种差异可能很小,甚至不会被注意到;也可能很大,甚至造成在某个浏览器下无法正常浏览。我们把引起这些差异的问题统称为“浏览器兼容性问题”。而正是这些“浏览器兼容性问题”,无形中给我们的开发增加了不少难度。 从浏览器内核的角度来看,浏览器兼容性问题可分为以下三类: 1. 渲染相关:和样式相关的问题,即体现在布局效果上的问题。 2. 脚本相关:和脚本相关的问题,包括JavaScript和DOM、BOM方面的问题。对于某些浏览器的功能方面的特性,也属于这一类。 3. 其他类别:除以上两类问题外的功能性问题,一般是浏览器自身提供的功能,在内核层之上的。 例如下面的页面,是一个渲染相关的问题: 在各个浏览器中都表现的不同,这就属于兼容性问题。 造成浏览器兼容性问题的根本原因就是浏览器各浏览器使用了不同的内核,并且它们处理同一件事情的时候思路不同。 现今常见的浏览器及其排版引擎(又称渲染引擎)及脚本引擎,如下:

而造成浏览器兼容性问题的常见原因则是设计师写出了不规范的代码,不规范的代码会使不兼容现象更加突出。 例如: 不规则的嵌套: DIV 中直接嵌套LI 元素是不合标准的,LI 应该处于UL 内。此类问题常见的还有P 中嵌套DIV,TABLE等元素。 不规范的DOM接口和属性设置: 总之,人为的原因也占很大一部分。而人为造成兼容性问题的原因,除了粗心之外,大都源于浏览器bug 的存在,和开发者对标准的不了解。 比如,如果要做一个功能,功能是想让鼠标悬停在IMG 元素上方时,可以出现提示信息,经常针对IE 做开发的人,可能会使用IMG 元素的“alt” 属性,但其他浏览器中就是不给…alt? 属性面子。因为W3C 标准中规定要去做这件事的属性是”title“,大多浏览器符合标准,IE 不符合,这是IE 浏览器内核的问题;开发者不知道”title“ 才是正解,不遵循标准去写代码,是开发者的问题。所以,一个问题分两半,浏览器和开发者都有责任。 既然都有责任,就都有义务去解决兼容性问题。那么,从浏览器的角度来讲,它的厂商应该修复浏览器的bug和不合标准的地方,当某一天IE 的”alt“ 不能用于提示了,还有人用这个错误的属性去显示提示么?从开发者角度来讲,多了解标准,了解浏览器兼容性问题,就可以在开发的过程中,有效的避开兼容性问题,让你的页面在所有浏览器中畅通无阻。 废话少说,下面就讲讲如何有效的避免一些兼容性问题。 J AVA S CRIPT (4)

浏览器间不兼容的原因及解决办法

网页设计遇到最大的麻烦之一莫过于网页对不同浏览器的兼容性问题了,因为IE 6.0 / IE 7.0 / firefox 2 / Opera 9等主流浏览器对CSS解析不近相同,导致设计的页面效果不一样,所以用什么方法可以有效解决不同浏览器不同页面效果的问题呢?广泛被使用的方法就是CSS Hack,即使用特别的CSS定义显示网页在不同浏览器的设计风格,针对不同的浏览器去写不同的CSS,最大化兼容浏览器。 一般情况下,我都会兼顾IE 6.0 / IE 7.0 / firefox 2.0浏览器,下面是用的较频繁的CSS Hack技巧: 用的最广莫过于!important了,它可以针对IE(IE 7.0能正确理 解!important)和非IE浏览器设置不同的样式,只要在非IE浏览器样式的后面加上!important,就可以针对其优先了。所以为了兼顾IE 6.0与火狐之间的差异,我都会使用!important。 1、仅IE7与IE5.0可以识别 *+html select {…} 当面临需要只针对IE7与IE5.0做样式的时候就可以采用这个HACK。 2、仅IE7可以识别 *+html s elect {…!important;} 当面临需要只针对IE7做样式的时候就可以采用这个HACK。 3、IE6及IE6以下识别 * html select {…} 这个地方要特别注意很多博客都写成了是IE6的HACK其实IE5.x同样可以识别这个HACK。其它浏览器不识别。 4、html/**/ >body select {…}

这句与上一句的作用相同。 5、仅IE6不识别,屏蔽IE6 select { display /*屏蔽IE6*/:none;} 这里主要是通过CSS注释分开一个属性与值,注释在冒号前。 6、仅IE6与IE5不识别,屏蔽IE6与IE5 select/**/ { display /*IE6,IE5不识别*/:none;} 这里与上面一句不同的是在选择符与花括号之间多了一个CSS注释。不屏蔽IE5.5 7、仅IE5不识别,屏蔽IE5 select/*IE5不识别*/ {…} 这一句是在上一句中去掉了属性区的注释。只有IE5不识别,IE5.5可以识别。 8、盒模型解决方法 selct {width:IE5.x宽度; voice-family :”/”}/”"; voice-family:inherit; width:正确宽度;} 盒模型的清除方法不是通过!important来处理的。这点要明确。 9、只有Opera识别 @media all and (min-width: 0px){ select {……} } 针对Opera浏览器做单独的设定。 以上都是写CSS中的一些HACK,这些都是用来解决局部的兼容性问题,如果希望把兼容性的内容也分离出来,不妨试一下下面的几种过滤器。这些过滤器有的是写在CSS中通过过滤器导入特别的样式,也有

浏览器兼容性常见问题

1.注释标签常用语法 1.1注释的注意事项

1.2出错条件 1.3注释中多个地方出错时

1.4两个出错的注释标签,其间的内容被视为注释的一部分 1.5解决方案 2.浏览器的字符编码 2.1问题描述 各浏览器对于字符编码别名支持的宽泛程度有差异,当指定了浏览器无法识别的字 符编码别名时,浏览器会以确定编码的优先级顺序采用设置的更低优先级的字符编码, 以此类推。而 Chrome Safari Opera 中对字符编码别名有着比其他浏览器更宽泛的支持。

2.2文档的字符编码顺序 针对如何确定一个文档的字符编码,用户代码必须遵守下面的优先级顺序(优先级由高至低): (1)HTTP "Content-Type" 字段中的 "charset" 参数。 (2)META 声明中 "http-equiv" 为 "Content-Type" 对应的值中的 "charset" 的值。(3)元素的 charset 属性。 2.3实例1 上面是一段 PHP 代码,HTTP "Content-Type" 头字段设置了字符编码为 BIG5,页面中的 META 元素设置了字符编码为 UTF-8,页面本身的编码类型为 GB2312。页面执行时,通过脚本输出了当前浏览器所采用的字符编码类型。 这个动态页面在各浏览器中运行时均显示出了 BIG5,可见此时所有浏览器均遵照HTML4.01 规范所述,以更高优先级的 HTTP "Content-Type" 头字段的 "charset" 参数的值作为字符编码类型。

2.4各浏览器默认编码格式 上面页面中没有设定任何的字符编码信息,则各浏览器对于这个页面将使用各自的默认编码。页面自身的编码为 GB2312。 各浏览器中运行效果如下: 2.5实例2 上面的动态页面自身的编码为 BIG5,HTTP "Content-Type" 头字段设置了字符编码为 maccyrillic,页面中的 META 元素设置了字符编码为 b.i.g+5。 各浏览器中运行效果如下:

不同浏览器兼容报告

Shuo de ——中国金融数据及工具首席服务商 IE、FF、Safari、OP不同浏览器兼容报告 柯伯勋 2011-03-08 上海万得资讯科技有限公司 Shanghai Wind Information Co., Ltd. 地址: 上海浦东新区福山路33号建工大厦9楼 邮编Zip : 200120 电话T el : (8621)6886 2280 传真Fax : (8621)6886 2281 Email : sales@https://www.doczj.com/doc/2317031252.html, 主页:https://www.doczj.com/doc/2317031252.html,

1浏览器内核简介 浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“解释引擎”,不过我们一般习惯将之称为“浏览器内核”。负责对网页语法的解释(如HTML、JavaScript)并渲染(显示)网页。 所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。 浏览器内核很多,如果加上所有的几乎没有什么人在用的非商业的免费内核,那么可能大约有10款以上甚至更多,不过通常我们比较常见的大约只有以下四种,下面先简单介绍一下。 1.1Trident: IE浏览器使用的内核,该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到目前的IE8。Trident实际上是一款开放的内核,其接口内核设计的相当成熟,因此才有许多采用IE内核而非IE的浏览器涌现(如Maxthon、The World 、TT、GreenBrowser、AvantBrowser等)。此外,为了方便也有很多人直接简称其为IE内核(当然也不排除有部分人是因为不知道内核名称而只好如此说)。 由于IE本身的“垄断性”(虽然名义上IE并非垄断,但实际上,特别是从Windows 95年代一直到XP初期,就市场占有率来说IE的确借助Windows的东风处于“垄断”的地位)而使得Trident内核的长期一家独大,微软很长时间都并没有更新Trident内核,这导致了两个后果——一是Trident内核曾经几乎与W3C标准脱节(2005年),二是Trident内核的大量Bug等安全性问题没有得到及时解决,然后加上一些致力于开源的开发者和一些学者们公开自己认为IE浏览器不安全的观点,也有很多用户转向了其他浏览器,Firefox和Opera就是这个时候兴起的。非Trident内核浏览器的市场占有率大幅提高也致使许多网页开发人员开始注意网页标准和非IE浏览器的浏览效果问题。 1.2Gecko: Netscape6开始采用的内核,后来的Mozilla FireFox也采用了该内核,Gecko的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。因为这是个开源内核,因此受到许多人的青睐,Gecko内核的浏览器也很多,这也是Geckos内核虽然年轻但市场占有率能够迅速提高的重要原因。 事实上,Gecko引擎的由来跟IE不无关系,前面说过IE没有使用W3C的标准,这导致了微软内部一些开发人员的不满;他们与当时已经停止更新了的Netscape的一些员工一起创办了Mozilla,以当时的Mosaic 内核为基础重新编写内核,于是开发出了Geckos。不过事实上,Gecko 内核的浏览器仍然还是Firefox用户最多,所以有时也会被称为Firefox内核。此外Gecko也是一个跨平台内核,可以在Windows、BSD、Linux 和Mac OS X中使用。 1.3Presto: 目前Opera采用的内核,该内核在2003年的Opera7中首次被使用,该款引擎的特点就是渲染速度的优化达到了极致,也是目前公认网页浏览速度最快的浏览器内核,然而代价是牺牲了网页的兼容性。 实际上这是一个动态内核,与前面几个内核的最大的区别就在脚本处理上,Presto有着天生的优势,页

USB 3.0 验证、除错和相容性解决方案

Mastering USB Physical Layer Validation
Tektronix USB Testing Solutions Introduction
Sarah Boen

Agenda
? ?
Introduction USB 3.0 SuperSpeed
– – – – – – Why USB 3.0? Timeline Cable Transmitter Receiver Protocol analysis
?
USB 2.0
– Introduction – Compliance Testing
?
Wireless USB
– Overview – Compliance and Debug
Disclaimer: The material and content that describes specific details of the USB 3.0 specification (and SuperSpeed logo) belong to the USB 3.0 Promoters. Tektronix is not speaking or presenting on behalf of the USB 3.0 Promoters.
2
2009-4-10
Tektronix Innovation Forum 2009

USB Industry Leadership
? ? ? ?
Tektronix 1st to market for USB 2.0 Only approved Method of Implementation (MOI) for WiMedia PHY Leadership in USB Millions of certified products shipped, enabled by Tektronix USB solutions Tektronix is only T&M Technical Contributor in the USB 3.0 specification!
3
2009-4-10
Tektronix Innovation Forum 2009

Windows系统下各浏览器兼容性

Windows系统下各浏览器常用CSS HACK汇总表 1. 此汇总表中测试浏览器的版本为: 微软系统自带:IE6、 IE7、IE8 火狐:Firefox 3.6.6 Safari:Safari 5.0 谷歌浏览器:Chrome 6.0.458.1 dev Opera浏览器:Opera 10.60 2. 其中,多数CSS hack是在selector{property:value;}基础上更改的。 selector代表CSS选择器,property代表CSS特性,value代表特性的值。 3. FF代表Firefox,Ch代表Chorme,Sa代表Safari,Op代表Opera 4. Q代表Quirks Mode,S代表Standards Mode。 5. Hack Type列的数字,指的是上面CSS hack的实现方式中的列表号。 1是指“利用浏览器对相同代码的解析和支持的不同实现的hack”,2是指以Firefox或Webkit特有的扩展样式实现的hack。

一定遵守CSS hack的三条原则。CSS hack是没有办法的时候才使用的解决兼容性问题的招术,是用兼容性问题去解决兼容性问题,无异于饮鸩止渴。切莫一有兼容性问题就使用,时刻记得改掉用CSS hack修补的问题。 IE6、IE7、IE8、Firefox兼容性CSS HACK代码+示例 1.区别IE和非IE浏览器CSS HACK代码 #divcss5{ background:blue; /*非IE 背景藍色*/ background:red \9; /*IE6、IE7、IE8背景紅色*/ } 2.区别IE6,IE7,IE8,FF CSS HACK 【区别符号】:「\9」、「*」、「_」 【示例】: #divcss5{ background:blue; /*Firefox 背景变蓝色*/ background:red \9; /*IE8 背景变红色*/ *background:black; /*IE7 背景变黑色*/ _background:orange; /*IE6 背景变橘色*/ } 【说明】:因为IE系列浏览器可读「\9」,而IE6和IE7可读「*」(米字号),另外IE6可辨识「_」(底线),因此可以依照顺序写下来,就会让浏览器正确的读取到自己看得懂得CSS语法,所以就可以有效区分IE各版本和非IE浏览器(像是Firefox、Opera、Google Chrome、Safari等)。 3.区别IE6、IE7、Firefox (EXP 1) 【区别符号】:「*」、「_」 【示例】: #divcss5{ background:blue; /*Firefox背景变蓝色*/ *background:black; /*IE7 背景变黑色*/ _background:orange; /*IE6 背景变橘色*/ } 【说明】:IE7和IE6可读「*」(米字号),IE6又可以读「_」(底线),但是IE7却无法读

最全整理浏览器兼容性问题与解决方案样本

常用浏览器兼容性问题与解决方案所谓浏览器兼容性问题,是指由于不同浏览器对同一段代码有不同解析,导致页面显示效果不统一状况。在大多数状况下,咱们需求是,无论顾客用什么浏览器来查看咱们网站或者登陆咱们系统,都应当是统一显示效果。因此浏览器兼容性问题是前端开发人员经常会遇到和必要要解决问题。 在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 第一类是精准按照设计图开发前端开发人员,可以说是精准到1px,她们很容易就会发现设计图局限性,并且在很少状况下会遇到浏览器兼容性问题,而这些问题往往都死浏览器bug,并且她们制作页面后期易维护,代码重用问题少,可以说是比较牢固放心代码。 第二类是基本按照设计图来开发前端开发人员,诸多细枝末节差距很大,不如间距,行高,图片位置等等经常会差几px。某种效果实现也是重复调试得到,详细为什么浮现这种效果还模模糊糊,整体布局十分脆弱。稍有改动就乱七八糟。代码为什么这样写还不知因此然。此类开发人员往往经常为兼容性问题所困。修改好了这个浏览器又乱了另一种浏览器。改来改去也毫无头绪。其实她们遇到兼容性问题大某些不应当归咎于浏览器,而是她们技术自身了。 文章重要针对是第一类,严谨型开发人员,因而这里重要从浏览器解析差别角度来分析兼容性问题。 浏览器兼容问题一:不同浏览器标签默认外补丁和内补丁不同 问题症状:随便写几种标签,不加样式控制状况下,各自margin 和padding差别较大。 遇到频率:100% 解决方案:CSS里*

备注:这个是最常用也是最易解决一种浏览器兼容性问题,几乎所有CSS文献开头都会用通配符*来设立各个标签内外补丁是0。 浏览器兼容问题二:块属性标签float后,又有横行margin状况下,在IE6显示margin比设立大 问题症状:常用症状是IE6中背面一块被顶到下一行 遇到频率:90%(稍微复杂点页面都会遇到,float布局最常用浏览器兼容问题)解决方案:在float标签样式控制中加入display:inline;将其转化为行内属性 备注:咱们最惯用就是div+CSS布局了,而div就是一种典型块属性标签,横向布局时候咱们普通都是用div float实现,横向间距设立如果用margin实现,这就是一种必然会遇到兼容性问题。 浏览器兼容问题三:设立较小高度标签(普通不大于10px),在IE6,IE7,遨游中高度超过自己设立高度 问题症状:IE6、7和遨游里这个标签高度不受控制,超过自己设立高度 遇到频率:60% 解决方案:给超过高度标签设立overflow:hidden;或者设立行高line-height 不大于你设立高度。 备注:这种状况普通出当前咱们设立小圆角背景标签里。浮现这个问题因素是IE8之前浏览器都会给标签一种最小默认行高高度。虽然你标签是空,这个标签高度还是会达到默认行高。 浏览器兼容问题四:行内属性标签,设立display:block后采用float布局,又有横行margin状况,IE6间距bug 问题症状:IE6里间距比超过设立间距 遇到几率:20%

CSS浏览器兼容性的各种代码解决方案

CSS浏览器兼容性的各种代码解决方案 https://www.doczj.com/doc/2317031252.html,/webds/blog/item/0fc34990dbef5a8ba877a4d1.html 网页设计遇到最大的麻烦之一莫过于网页对不同浏览器的兼容性问题了,因为IE 6.0 / IE 7.0 / firefox 2 / Opera 9等主流浏览器对CSS解析不近相同,导致设计的页面效果不一样,所以用什么方法可以有效解决不同浏览器不同页面效果的问题呢?广泛被使用的方法就是CSS Hack,即使用特别的CSS定义显示网页在不同浏览器的设计风格,针对不同的浏览器去写不同的CSS,最大化兼容浏览器。 一般情况下,我都会兼顾IE 6.0 / IE 7.0 / firefox 2.0浏览器,下面是用的较频繁的CSS Hack技巧: 用的最广莫过于!important了,它可以针对IE(IE 7.0能正确理解!important)和非IE浏览器设置不同的样式,只要在非IE浏览器样式的后面加上!important,就可以针对其优先了。所以为了兼顾IE 6.0与火狐之间的差异,我都会使 用!important。 1、仅IE7与IE5.0可以识别 *+html select {…} 当面临需要只针对IE7与IE5.0做样式的时候就可以采用这个HACK。 2、仅IE7可以识别 *+html select {…!important;} 当面临需要只针对IE7做样式的时候就可以采用这个HACK。 3、IE6及IE6以下识别 * html select {…} 这个地方要特别注意很多博客都写成了是IE6的HACK其实IE5.x同样可以识别这个HACK。其它浏览器不识别。 4、html/**/ >body select {…} 这句与上一句的作用相同。 5、仅IE6不识别,屏蔽IE6 select { display /*屏蔽IE6*/:none;} 这里主要是通过CSS注释分开一个属性与值,注释在冒号前。 6、仅IE6与IE5不识别,屏蔽IE6与IE5 select/**/ { display /*IE6,IE5不识别*/:none;} 这里与上面一句不同的是在选择符与花括号之间多了一个CSS注释。不屏蔽 IE5.5 7、仅IE5不识别,屏蔽IE5 select/*IE5不识别*/ {…} 这一句是在上一句中去掉了属性区的注释。只有IE5不识别,IE5.5可以识别。 8、盒模型解决方法 selct {width:IE5.x宽度; voice-family :”\”}\”"; voice-family:inherit; width:正确宽度;} 盒模型的清除方法不是通过!important来处理的。这点要明确。 9、只有Opera识别 @media all and (min-width: 0px){ select {……} }

关于浏览器兼容性问题

关于浏览器兼容性问题 制作网页时总会遇到各种浏览器的兼容性问题,工作也有一段时间了,做了一点小总结希望分享给大家,共同进步。 1、float定位。 Float定位是css排版中的非常重要的手段,属性float值:left、right、none(默认值),当设定了元素向左或者向右浮动时,元素会向其父元素的左侧或右侧靠紧。 在用float的同时我们要注意到 (1)float元素的父元素不能指定clear属性。 这是因为MaeIE下如果对float的元素父元素使用clear属性,周围的float元素布局就会混乱。 (2)float元素无比知道那个width属性 很多浏览器在显示未指定width的float元素时会有bug,所以不管float元素的内容如何,一定要为其制定width属性。(注意:制定元素时尽量使用em而不是px)(3)float元素不能指定margin和padding的属性 ie在显示指定了margin和padding的float元素时有bug。你可以再float元素内部嵌套一个div来势之margin和padding,也可以使用hack方法为ie指定特定的值。 (4)float元素之核的宽度要小于100% 如果float元素的宽度和正好等于100%,为保证大多浏览器显示正常,要是宽度之和小于100 2、margin加倍的问题。 设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。 解决方案是在这个div里面加上display:inline; margin:5px;/*IE下理解为10px*/ display:inline;/*IE下再理解为5px*/ 3、ie6中莫名出现多余的字符 我遇到的现象是:ie6下有些问题,重复出现在第二行,就是某些段落或某些文字的末尾N个字符,他另起一行重复出现,在选选着重复出现的文字时,原有的文字也被选中 解决方法:很简单,在重复出现文字的末尾补N个 ;就可以。 4、ie7中正常,但ie8中不正常,div的位置position:absolute在ie8中不起作用 解决方法:设置html兼容ie7,在head下加 5、针对ie 6、ie 7、火狐浏览器 (1)Ie6 、FF对!important;测试正常 Ie7对!important;可以正确解释。 为了使他们都正常: #style1{color:#333;} FF正常显示#333; *html #style1{color:#666;} ie6显示#666 *+html #style1{color:#999;} ie7显示#999 *+html与*html是ie特有的标签,firefox暂不支持,而*+html又为ie7特有的标签。 注意:顺序不能错了。 (2)FF: 链接加边框和背景色,需设置display: block, 同时设置float: left 保证不换行。 参照menubar, 给 a 和menubar 设置高度是为了避免底边显示错位, 若不设height,

浏览器兼容性解决方案

所有浏览器通用 height: 100px; IE6 专用 _height: 100px; IE6 专用 *height: 100px; IE7 专用 *+height: 100px; IE7、FF 共用 height: 100px !important; 什么是浏览器兼容:当我们使用不同的浏览器(Firefox IE7 IE6)访问同一个网站,或者页面的时候,会出现一些不兼容的问题,在这种浏览器下显示正常,在另一种下就乱了,我们在编写CSS的时候会很恼火,刚修复了这个浏览器的问题,结果另外一个浏览器却出了新问题。好吧,我服了行吧,那我就利用你们的不兼容各写一段css,让他们各执行各的,呵呵。 一、!important (功能有限) 随着IE7对!important的支持, !important 方法现在只针对IE6的兼容.(注意写法.记得该声明位置需要提前.) 例如: #example { width: 100px !important; /* IE7+FF */ width: 200px; /* IE6 */ }

二、CSS HACK的方法(新手可以看看,高手就当路过吧) 首先需要知道的是: 所有浏览器通用 height: 100px; IE6 专用 _height: 100px; IE7 专用 *+height: 100px; IE6、IE7 共用 *height: 100px; IE7、FF 共用 height: 100px !important; 例如: #example { height:100px; } /* FF */ * html #example { height:200px; } /* IE6 */ *+html #example { height:300px; } /* IE7 */ 下面的这种方法比较简单 举几个例子: 1、IE6 - IE7+FF #example { height:100px; /* FF+IE7 */ _height:200px; /* IE6 */ } 其实这个用上面说的第一种方法也可以 #example { height:100px !important; /* FF+IE7 */ height:200px; /* IE6 */ } 2、IE6+IE7 - FF #example { height:100px; /* FF */ *height:200px; /* IE6+IE7 */ } 3、IE6+FF - IE7 #example { height:100px; /* IE6+FF */

浏览器兼容性bug

常见浏览器兼容性问题与解决方案 标签:前端开发浏览器兼容问题 所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况。在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果。所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题。 在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 第一类是精确按照设计图开发的前端开发人员,可以说是精确到1px的,他们很容易就会发现设计图的不足,并且在很少的情况下会碰到浏览器的兼容性问题,而这些问题往往都死浏览器的bug,并且他们制作的页面后期易维护,代码重用问题少,可以说是比较牢固放心的代码。 第二类是基本按照设计图来开发的前端开发人员,很多细枝末节差距很大,不如间距,行高,图片位置等等经常会差几px。某种效果的实现也是反复调试得到,具体为什么出现这种效果还模模糊糊,整体布局十分脆弱。稍有改动就乱七八糟。代码为什么这么写还不知所以然。这类开发人员往往经常为兼容性问题所困。修改好了这个浏览器又乱了另一个浏览器。改来改去也毫无头绪。其实他们碰到的兼容性问题大部分不应该归咎于浏览器,而是他们的技术本身了。 文章主要针对的是第一类,严谨型的开发人员,因此这里主要从浏览器解析差异的角度来分析兼容性问题。(相关文章推荐:主流浏览器CSS 3和HTML 5兼容清单) 浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同 问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。 碰到频率:100% 解决方案:CSS里 *{margin:0;padding:0;} 备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设置各个标签的内外补丁是0。

c++w7兼容性问题解决方法

网上成千上万的诸如“有没有Win7兼容的VC6的下载”、“Win7下Visual C++ 6.0不兼容问题” 之类的问题, 多数意思是VC6和Win7不兼容,而现在不少学校或是考试用的还是Visual Studio套件, 新的Win7或Vista系统下要安装怎么办? 说实话我也一直没有试过,所以也想当然的认为Win7下就不能安装VC6,压根就100%不兼容? 一直使用高版本的VS(如VS2008和现在用的VS2010)的我今天亲身在Win7下安装一次试试。 为了说明问题,我这里下载了一个简体中文版的(点击进入下载Visual C++ 6.0 简体中文企业版集成SP6完美版)解压后运行SETU.EXE 运行setup.exe安装程序,会弹出如下的的程序兼容性助手提示框, 这个是Win7在警告用户vc6存在兼容性问题:此程序存在已知的兼容性问题。如下图,选中不再显示此消息,点“运行程序”。

(之后再有遇到“此程序存在已知的兼容性问题”的提示时候,也按这个做法处理!) 接着安装,进入选择安装类型这一步的时候,要注意。点“Custom”自定义安装类型: Custom自定义安装里,点中Tools组件,更改选项:

把其中的OLE/Com Object Viewer取消,不选择:

再返回到组件选择的时候,Tools就变为灰色的勾了, 因为里面我们取消了OLE/Com Object Viewer这一顶: 其他的就默认安装就可以了,要注意的上面已经都交代了,安装完成,出现安装成功的提示:

安装完成后,启动VC6的时候,也出现“此程序存在已知的兼容性问题”的提示, 按上面第一步中的处理:选中不再显示此消息,点“运行程序”。 启动后我们新建一个工程和一个c++源文件,编译运行之,如下 图:

各种浏览器兼容问题列表

各种浏览器兼容问题列表 1、仅IE7与IE5.0可以识别 *+html select {…} 当面临需要只针对IE7与IE5.0做样式的时候就可以采用这个HACK。 2、仅IE7可以识别 *+html select {…!important;} 当面临需要只针对IE7做样式的时候就可以采用这个HACK。 3、IE6及IE6以下识别 * html select {…} 这个地方要特别注意很多博客都写成了是IE6的HACK其实IE5.x同样可以识别这个HACK。其它浏览器不识别。 4、html/**/ >bod y select {…} 这句与上一句的作用相同。 5、仅IE6不识别,屏蔽IE6 select { display /*屏蔽IE6*/:none;} 这里主要是通过CSS注释分开一个属性与值,注释在冒号前。 6、仅IE6与IE5不识别,屏蔽IE6与IE5 select/**/ { display /*IE6,IE5不识别*/:none;} 这里与上面一句不同的是在选择符与花括号之间多了一个CSS注释。不屏蔽IE5.5 7、仅IE5不识别,屏蔽IE5 select/*IE5不识别*/ {…} 这一句是在上一句中去掉了属性区的注释。只有IE5不识别,IE5.5可以识别。 8、盒模型解决方法 selct {width:IE5.x宽度; voice-family :”\”}\”"; voice-family:inherit; width:正确宽度;} 盒模型的清除方法不是通过!important来处理的。这点要明确。 9、只有Opera识别 @media all and (min-width: 0px){ select {……} } 针对Opera浏览器做单独的设定。 以上都是写CSS中的一些HACK,这些都是用来解决局部的兼容性问题,如果希望把兼容性的内容也分离出来,不妨试一下下面的几种过滤器。这些过滤器有的是写在CSS中通过过滤器导入特别的样式,也有的是写在HTML中的通过条件来链接或是导入需要的补丁样

div+css中常见的浏览器兼容性处理

在网站设计的时候,应该注意css样式兼容不同浏览器问题,特别是对完全使用DIV CSS设计的网,就应该更注意IE6 IE7 FF对CSS样式的兼容,不然,你的网乱可能出去不想出现的效果! 所有浏览器通用 height: 100px; IE6 专用 _height: 100px; IE6 专用 *height: 100px; IE7 专用 *+height: 100px; IE7、FF 共用 height: 100px !important; 一、CSS 兼容 以下两种方法几乎能解决现今所有兼容. 1, !important (不是很推荐,用下面的一种感觉最安全) 随着IE7对!important的支持, !important 方法现在只针对IE6的兼容.(注意写法.记得该声明位置需要提前.) 代码: 2, IE6/IE77对FireFox *+html 与 *html 是IE特有的标签, firefox 暂不支持.而*+html 又为 IE7特有标签. 代码: 注意: *+html 对IE7的兼容必须保证HTML顶部有如下声明: 代码: 二、万能 float 闭合(非常重要!) 可以用这个解决多个div对齐时的间距不对, 关于 clear float 的原理可参见 [How To Clear Floats Without Structural Markup] 将以下代码加入Global CSS 中,给需要闭合的div加上class=”clearfix” 即可,屡试不爽. 代码: ********************************************************************* ************************************************** 三、其他兼容技巧(相当有用) 1, FF下给 div 设置 padding 后会导致 width 和 height 增加, 但IE不 会.(可用!important解决)

相关主题
文本预览
相关文档 最新文档