为HTML [xmlns]定义css样式是否有一个非平凡的目的?

Ove*_*esh 2 css xhtml clearfix

请注意这里提供的clearfix解决方案.

为什么为HTML [xmlns]定义了单独的样式?

这是针对特定浏览器设计的CSS黑客吗?

更新:这是有问题的代码,因为在我看来,一些答案显然是不合适的.

.clearfix {
    display: inline-block;
}

html[xmlns] .clearfix {
    display: block;
}

* html .clearfix {
    height: 1%;
}
Run Code Online (Sandbox Code Playgroud)

更新2:它已经或多或少地确定它是一个黑客.但我想要一个外部参考,详细解释它.例如,它适用于哪种浏览器,以及它究竟要修复哪些问题?

Jak*_*ris 6

我联系了Stu Nicholls试图找出这个黑客的权威来源.他回答说,并给了我以下信息:

element [attribute]是一个w3.org CSS2属性选择器,通常应用于body元素和属性,但在这种情况下,它使用标记及其'xmlns'属性.所以[你知道]是隔离会识别或忽略这种风格的浏览器.答案是所有浏览器都会识别这种风格,除了IE5.x和IE6.因此,所有浏览器都将.clearfix设置为内联块样式,然后除了IE5.x和IE6之外的所有浏览器都会将其重新设置为块.
然后使用*html前缀来定位IE5.x和IE6 ONLY .clearfix元素的高度设置为1%.