所有分类
  • 所有分类
  • 后端开发
各种浏览器的Hack写法(chrome firefox ie等)

各种浏览器的Hack写法(chrome firefox ie等)

运行环境:Windows
所需软件:Word
资源类型:简历

最近更新了谷歌浏览器,发现之前设置的谷歌浏览器-webkit-text-size-adjust:none,谷歌浏览器自V27.0版本以来一直不支持它,这直接导致了页面的混乱。今天,主流浏览器将CSS hack总结了一下,希望以后不要纠结类似的问题,如下:

众所周知,Hack是为不同的浏览器编写不同的CSS风格,使每个浏览器都能达到一致的渲染效果,然后为不同的浏览器编写不同的CSS CODE的过程称为CSS HACK,也叫写CSS Hack。然后将Hack放入浏览器特定的CSS文件中,让其合格的浏览器分析这些代码,如上述条件样式,我们将CSS 将Hack代码放入条件样式文件中,对符合条件的浏览器进行分析,对不符合的浏览器进行分析,从表面上达到所需的页面渲染效果。一般来说,使用CSS Hack将使用您的CSS代码部分失去功能,然后使用其原始CSS代码在条件风格的帮助下在某些浏览器中进行分析 Hack代码在符合条件的浏览器中替换原CSS代码。常见的是在IE6下使用,不具体说,我想大家都遇到过。让我们来看看所有浏览器都有什么Hack,换句话说,各种浏览器都能识别哪些CSS写法。

以下是我在每个浏览器下收集的Hack:

标志符 示例 IE6 IE7 IE8 IE9 FF OP SA CH
* .eq {*color:#000;} Y Y N N N N N N
_ .eq {_color:#000;} Y N N N N N N N
.eq { color:#000;} Y Y N N N N N N
.eq {-color:#000;} Y N N N N N N N
> .eq {>color:#000;} Y Y N N N N N N
\0 .eq {color:#000\0;} N N Y Y N Y N N
\9 .eq {color:#000\9;} Y Y Y Y N N N N
\9\0 .eq {color:#000\0;} N N N\Y Y N N N N
:root .xx{xxx:xxx\9;} :root .eq {color:#a00\9;} N N N Y N N N N
* .eq {* color:#000;} Y Y N N N N N N
*- .eq {*-color:#000;} Y N N N N N N N
*html *html .eq {color:#000;} Y N N N N N N N
* html * html .eq {color:#000;} N Y N N N N N N
html* html* .eq {color:#000;} Y Y N N N N N N
[; .eq {color:red;[;color:blue;} Y Y N N N N Y Y
html>body html>body .eq {color:blue;} N Y Y Y Y Y Y Y
html>/**/body html>/**/body .eq {color:blue;} N N Y Y Y Y Y Y
html/**/>body html/**/>body .eq {color:blue;} N Y Y Y Y Y Y Y
@media all and (min-width:0px){} @media all and (min-width:0px){.eq {color:#000;}} N N N Y Y Y Y Y
*:first-child html *:first-child html .eq {color:blue;} N Y N N N N N N
*:first-child html{} *html *:first-child html{} *html .eq {color:blue;} Y N N N N N N N
@-moz-document url-prefix(){} @-moz-document url-prefix(){ .eq {color:blue;}} N N N N Y N N N
@media screen and (-webkit-min-device-pixel-ratio:0){} @media screen and (-webkit-min-device-pixel-ratio:0){.eq {color:blue;}} N N N N N N Y Y
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0){} @media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0){.eq {color:blue;}} N N N N N Y N N
body:nth-of-type(1) body:nth-of-type(1) .eq {color:blue;} N N N Y Y Y Y Y

注意事项:

1、一些HACK可能会因为每个浏览器的快速更新而发生变化,所以请注意。
2、[;这种方法会影响后续风格,不可取。
3、并非所有属性都能区分IE8和IE9。比如:background-color可以,但background不能,border也不能。所以在实际使用中要进行测试。
4、同时出现\0,*,_,建议在*和_前写\0。例如:color:red\0;*color:blue;_color:green;可行,否则IE7和IE6中的效果会失效。但border例外,可以放在前后。为了保险起见,还是放在前面。

方法一:

  1. IE6 hack:
  2.     _background-color:#CDCDCD; /* ie 6*/
  3. IE7 hack:
  4.     *background-color:#dddd00; /* ie 7*/
  5. IE8 hack:
  6.     background-color:red \0; /* ie 8/9*/
  7. IE9 hack:
  8.     background-color:blue \9\0;
  9. 火狐、漫游等高级浏览器通用:
  10.     background-color:red!important;

注意写hack的顺序,其中:background-color:red\0;支持IE8和IE9;background-color:blue\9\0; 仅IE9支持;此外,background-color:#eeeeee\9;支持IE6-IE8的HACK,但IE8无法识别“*”和“_”的CSS HACK。

方法二:

  1. #text{color:orange;}
  2. #text{*color: white; }  /* IE6 7, doesn’t work in IE8/9 as IE7 */
  3. #text{_color: red; }  /* IE6 */
  4. #text{color: green\0; }  /* IE8 9  */
  5. :root #text{color:pink\0; }  /* IE9 */

IE9 和 IE8 以及其他版本的差异描述

background-color:blue; 所有浏览器都知道,这里用firefox;
background-color:red\9;所有ie浏览器都可以识别;
background-color:yellow\0; \0 是留给ie8的,最新版opera也知道,后面自己的hack写给opera认可,所以,\0我们认为是给ie8留的;
background-color:pink; ie7定了;
_background-color:orange; _特别留给神奇ie6;
:root #test { background-color:purple\9; } :root是给ie9的,一个版本在网上流传 :root   #test {   background- color:purple\0;},新版opera也知道这一点,因此,经作者反复验证,ie9的独特特点是:root 选择符   {属性\9;}
@media all and (min-width:0px){ #test {background-color:black\0;} } 总是和ie抢着认\0的神奇opera,必须加\0,否则firefox,chrome,也知道safari。。。。
@media screen and (-webkit-min-device-pixel-ratio:0){ #test {background-color:gray;} }最后,这是浏览器新贵chrome和safari。

我们需要注意的浏览器:IE6有自己的内核、IE7、IE8、谷歌浏览器IE9(Chrome)、火狐(Mozilla   Firefox)苹果浏览器(Safari)至于我们常用的360安全浏览器、搜狗高速浏览器、每日浏览器、腾讯TT、骄傲浏览器,百度浏览器,腾  讯QQ浏览器等都没有内核,计算机中安装的系统有自己的浏览器内核,因此只需与自己的内核浏览器兼容即可。

总结:

总之,随着浏览器的增加,兼容性问题也会增加,这也能充分体现web前端开发者的价值。

原文链接:https://www.icz.com/technicalinformation/web/html/2023/05/8827.html,转载请注明出处~~~
0
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?