CSS属性之前星号的用途

以下是从雅虎CSS重置。 有人可以解释星号的目的吗?

body { font:13px/1.231 arial,helvetica,clean,sans-serif; *font-size:small; *font:x-small; } 

这是一个浏览器特定的CSS黑客版本7或以下的Internet Explorer。

*属性:值

虽然Internet Explorer 7更正了其属性名称前面加下划线或连字符时的行为,但其他非字母数字字符前缀被视为在IE6中的处理方式。 因此,如果在属性名称之前立即添加非字母数字字符(如星号(*)),则该属性将应用于IE中,而不是其他浏览器中。 与连字符和下划线方法不同,CSS规范不会将星号作为前缀进行保留,因此,随着CSS规范的发展,使用这种黑客可能会导致意外的行为。

*属性:值在IE 7及更低版本中应用属性值。 它可能会或可能不会在将来的版本中工作。 警告:这使用无效的CSS。

来自: http : //www.javascriptkit.com/dhtmltutors/csshacks3.shtml

这是一个Internet Explorer破解。 如果在属性名称之前立即添加非字母数字字符(如星号(*)),则该属性将应用于IE7及更低版本,但不会应用于其他浏览器。

http://www.javascriptkit.com/dhtmltutors/csshacks3.shtml

所有的浏览器,但IE忽略规则。 它被称为明星黑客。 我认为IE7会忽略标准模式下的规则。

在这种情况下,设置字体规则,然后覆盖IE 6,有时7。

据我所知,星号可以防止Firefox读取属性,但在IE中是有效的。

这是一个CSS黑客,该规则将只适用于IE7及以下。

我不会推荐使用它,但有更好的方法来解决IE不兼容问题。

放置这样的字符是一个黑客/解决方法,让IE 6使用风格的属性,而从更多的“理智的”浏览器隐藏它。

从这里 :

简而言之,Internet Explorer CSSparsing器在尝试发现属性的名称时会过于激进,实际上会忽略前导的非字母数字字符。 从我的testing来看,至less从IE5开始,情况就是如此。