在我合作的一个项目中,我发现了很多这样的规则:
* + html {
/.../
}
我知道做什么*
,+
但我不明白这个结构有什么意义?
我也发现了这个:
* html {
/.../
}
我找不到任何应用这些的地方。
AFAIKhtml
每页都是唯一的,那么为什么不简单地使用html
选择器呢?这是某种魔法吗?
在我合作的一个项目中,我发现了很多这样的规则:
* + html {
/.../
}
我知道做什么*
,+
但我不明白这个结构有什么意义?
我也发现了这个:
* html {
/.../
}
我找不到任何应用这些的地方。
AFAIKhtml
每页都是唯一的,那么为什么不简单地使用html
选择器呢?这是某种魔法吗?
这些是 Internet Explorer 的 CSS hack。
更多信息在这里:http ://dimox.net/personal-css-hacks-for-ie6-ie7-ie8/
根据W3C Selectors 定义,“E + F”定义为:
匹配任何紧跟在同级元素 E 之前的 F 元素。
你提到了代码:
* + html
这应该与任何其他元素之后的 html 标记匹配。但是 html 元素是 html 页面的第一个元素(根元素)。因此,在 html-tag 之前没有元素(即 HTML-tag),规则不匹配任何元素。
至少,对于任何正确实现标准的浏览器。“问题”是,IE7 没有正确实现它并应用规则。
换句话说,这是针对 IE7 的 CSS hack。
另一种方法是使用条件注释:
<!--[if lte IE 7]> <html class="ie7"> <![endif]-->
高温高压