IE CSS Bug系列:通配选择符Bug

伯乐在线导读:IE 浏览器不支持很多 CSS 属性是出了名的,即便在支持的部分中,也是有很多 Bug 的。Zoffix Znet 整理了 IE 中的 CSS 问题,有简单的问题示例,也有解决方法。 这个系列共有 58 个指南,70 个解决方案。这篇由伯乐在线前端开发小组的@ivy3372 翻译。(欢迎更多前端开发朋友来加入“前端开发小组。)

【提示】:IE CSS BUG 系列译文正在进行中,后续或有改动和调整,请不要转载本系列的译文。

—————————————————————————–

受影响版本

该bug影响:IE6

表现

IE6里 *html 选择器未被忽略(由于当通配选择符是选择器里的第一部分时,它被忽略了。)

教程日期

2009-8-10  04:42:20 星期一

描述

这个bug更像是将特定的规则集运用到IE6的 工具,而不是趁你睡着时咬你的什么东西。我们来看demo:

示例

由于这个bug的性质,示例在一个单独页面上separate page

CSS Code:

HTML Code:

由于<html>元素被功能正常的浏览器认为是根元素,用通配选择符(*)在它之上没有什么可选择的。因为这个原因*html被功能正常的浏览器忽略,但是IE6里发生的情况是:当通配选择符是选择器的第一部分时,它就被忽略了,所以,对于IE6它就直接成了html。

我们的*html div 选择器被功能正常的浏览器忽略,而在IE6里它成了html div,比起之前的div选择器更为具体,这有效的导致了我们的<div>特定地在IE6里被加上了蓝色。

 

解决方案

以下是按照解决方案类型排序的解决方案:

解决方案(清理方案

解决时间

2009-8-10 04:48:14 星期一

修复版本

所有受影响版本

描述

正如我早前提到的,相比常见的bug带来的郁闷,这个bug更像是用于判定IE6;我怀疑你是否会需要“修复”它。让我们看看修复代码:

由于这个bug的性质,修复的代码在单独的页面可获得separate page

HTML Code:

CSS Code:

由于通配选择符对于特异性是相当无意义的,我只需把它从我们的选择器里移走。现在在所有的浏览器里这个<div>都是蓝色的了。

收藏 评论

关于作者:Ivy_Ling

(新浪微博:@Ivy_3372) 个人主页 · 我的文章

相关文章

可能感兴趣的话题



直接登录
跳到底部
返回顶部