Bang IE7 – 这是什么意思?

看起来这个标题并不那么疯狂。 我承诺!!

在研究另一个问题时,我注意到Stack Overflow的样式表中有以下几点:

... width: auto; ... width: 650px!ie7; padding-bottom: 20px!ie7; ... 

这是一种奇怪的有条件的样式吗? 这是一个错误? 假设这不是一个错误,这是否适用于所有IE版本? 有没有一种方法来指定一个给定的规则应该只适用于IE的版本大于 – 说 – 7?

我从来没有遇到过这种情况 – 我一直使用条件注释IE特定的样式(以及它的价值,我更喜欢保持所有IE特定的样式完全分开)。

我以前听说过这个,但是没有确切的文字!ie7

我在这里find了一个参考: http : //www.javascriptkit.com/dhtmltutors/csshacks3.shtml

!即

Internet Explorer 7修复了!important标识符的问题之一,但标识符在其中存在错误时仍存在问题。 如果使用非法标识符名称代替重要,Internet Explorer 7及以下版本将正常处理该属性,而不是失败。 因此,在任何样式声明块中,可以包含仅用于Internet Explorer的属性,并添加!ie标识符。 几乎任何一个词都可以用来代替ie。

!ie标识符允许在IE 7及以下版本中应用该属性。 它可能会或可能不会在将来的版本中工作。 警告:这使用无效的CSS!

所以, width: 650px!ie7; 将仅适用于IE 7及以下版本。

实际文本ie7不是必需的,但它是一个明智的string,用于提醒人们背后的目的。