兼容各浏览器的CSS编写方法(CSS HACK)

 2024-03-07 01:09:51  阅读 0

浏览器优先级:此类Hack不仅会对CSS生效,还会对判断语句中写入的所有代码生效。

书写顺序一般是把识别能力强的浏览器的CSS写在最后。 下面更详细地解释如何编写。

如何编写 CSS Hack

例如,要区分IE6和两种浏览器,可以这样写:

我在 IE6 中看到它为红色,在 IE6 中看到它为绿色。

解释:

上面的css进去了,但是它不知道后面带星号的东西是什么,所以就过滤掉了,忽略掉。 分析的结果是:div{:green},所以当然这个div的背景是绿色的。

在IE6中,两者都可以识别。 它的分析结果是:div{:green;:red;},所以根据优先级,后面的红色优先级更高,所以当然这个div的背景色是红色。

CSS hack:区分IE6和IE7,

为了区分不同浏览器,CSS hack写法:

IE6和FF的区别:

:;*:蓝色的;

IE6和IE7的区别:

:绿,蓝;

IE7和FF的区别:

:; *:绿色的;

FF、IE7、IE6的区别:

:;*:绿,蓝;

:;*:绿,蓝;

css兼容所有浏览器_css兼容ie写法_css浏览器兼容性写法

注:IE可以识别*; 标准浏览器(如FF)无法识别*;

IE6可以识别*,但有些情况不能识别!,

-------------------------------------------------- ----------------------------------------------------

IE6支持! 重新定义,例如:

。 {颜色:#e00!;}

.{颜色:#000;}

你会发现,当定义了style class=""时,字体在IE下显示为红色(#e00)。

但 ! 不支持相同的定义。 例如:

。 {颜色:#e00!;颜色:#000}

IE6 下不支持此功能。 你会发现,当定义了style class=""时,字体显示为黑色(#000)。

不包括 ! 具有以下形式的相同定义。

#{:(..)!;

:100%;} 这种形式的定义可以在 IE6 中解释。

-------------------------------------------------- ----------------------------------------------------

IE6 IE7可以识别*,也可以识别!;

FF 不能识别 *,但它可以!;

IE6 IE7 FF

* √ √ ×

! √

css浏览器兼容性写法_css兼容ie写法_css兼容所有浏览器

√ √

浏览器优先级:FF

以:“#demo {width:100px;}”为例;

#demo {width:100px;} /*IE6和IE7执行*/

* html #demo {width:120px;} /* 会被IE6执行,前面的定义会被后面的定义覆盖,所以#demo的宽度在IE6中会是120px; */

*+html #demo {width:130px;} /*将由IE7执行*/

----------------

所以最终#demo在三个浏览器中的宽度解释为:

:100 像素;

即6:120像素;

即7:130像素;

IE8最新的CSS hack:

“\9”示例:“:1px \9;”。 这里的“\9”可以区分所有的IE和.

“\0”IE8可以识别,但IE6和IE7不能识别。

“*”IE6、IE7可以识别。 IE8不能。

“_”IE6可以识别“_”,但IE7和IE8不能。

IE6破解

-颜色:#; /*即6*/

IE7破解

*-颜色:#; /*即7*/

IE8破解

-颜色:红色\0; /*即8/9*/

IE9破解

-颜色:蓝色\9\0;

火狐、傲游等高级浏览器通用

-红色!;

注意编写 hack 的顺序,其中:

-颜色:红色\0; IE8、IE9均支持; -颜色:蓝色\9\0; 仅IE9支持;

另外,HACK -color:\9; 支持IE6-IE8,但IE8无法识别“*”和“_”的CSS HACK。

上述规则可以灵活组合应用。

IE9和IE8与其他版本的区别

-颜色:蓝色; 被所有浏览器识别并在这里使用;

-color:red\9;\9所有IE浏览器均可识别;

-颜色:\0; \0 是为 IE8 保留的,最新版本的 Opera 也能识别它。 后来写了一个 hack 供 Opera 识别,所以我们认为 \0 是为 IE8 保留的;

+-颜色:粉色; + ie7 已设置;

-颜色:; _专为神奇的ie6保留;

:root #test { -color:\9; } :root 适用于 IE9。 网上流传的一个版本是:root #test { -color:\0;}。 这也是新版本Opera所认可的,因此经过笔者反复验证。 最后,IE9 特有的是:root 选择器 {\9;}

@media all and (min-width:0px){ #test {-color:black\0;} } 这就是始终与IE竞争识别\0的神奇歌剧。 必须加一个\0,否则,...我们都认识。 。 。

@media and (--min--pixel-ratio:0){ #test {-color:gray;} }最后一张来自浏览器新贵and。

标签: 识别 浏览 定义

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码