教程集 www.jiaochengji.com
教程集 >  CSS教程  >  经典实例  >  正文 一个针对IE7的CSS Hack

一个针对IE7的CSS Hack

发布时间:2020-05-27   编辑:jiaochengji.com
教程集为您提供一个针对IE7的CSS Hack等资源,欢迎您收藏本站,我们将为您提供最新的一个针对IE7的CSS Hack资源

IE7 修复了很多 bug,也增加了对一些选择符的支持,所以现在诸如 *html {} 和 html>body {} 等针对 IE 隐藏或显示的 hack 都会在 IE7 中失效。虽然 CSS Hack 不推荐使用,条件注释才是万无一失的过滤器,但是条件注释只能出现在 HTML 中,CSS Hack 还是有用武之地的。Nanobot 发现了一些针对 IE7 的 CSS Hack,具体就是:
>body
html*
* html
这三种写法,其中前两种都是不合法的 CSS 写法,在标准兼容浏览器中被被忽略,但是 IE7 却不这么认为。对于 >body ,它会将缺失的选择符用全局选择符 * 代替,也就是将其处理成了 *>body,而且不光对于 > 选择符, ,~ 选择符中这个现象也存在。对于 html* ,由于 html 和 * 之间没有空格,所以也是一种 CSS 语法错误,但 IE7 不会忽略,而是错误地认为这里有一个空格。对于第三种 * html,IE7 认为 html 前面的 DTD 声明也是一个元素,所以 html 会被选中,这三种方法中只有这一种方法是合法的 CSS 写法,也就是说可以通过校验器的验证,因此也是作者推荐的 hack 用法。
最后作者给出了最佳方式:
IE 6 and below
Use * html {} to select the html element.
IE 7 and below
Use * html, * html {} to select the html element.
IE 7 only
Use * html {} to select the html element.
IE 7 and modern browsers only
Use html>body {} to select the body element.
Modern browsers only (not IE 7)
Use html>/**/body {} to select the body element.
具体信息参考原文:Easy CSS hacks for IE7

您可能感兴趣的文章:
IE浏览器CSS Hack速查表(IE6/7/8/9/10)
针对于IE6、IE7、Firefox如何运用CSS hack的问题!
一个针对IE7的CSS Hack
CSS hack在IE6,IE7,firefox用法与区分
关于IE6、IE7和FF最简单的CSS hack技巧
CSS兼容IE6,IE7和FF的总结
CSS hack的一些思考 我们该如何面对它?
CSS Hack解决浏览器兼容性问题
IE6.0/IE7.0/IE8.0 的CSS-HACK写法与注释
CSS完美兼容IE6/IE7/FF的通用方法

[关闭]
~ ~