Bang IE7 - 这是啥意思?

Posted

技术标签:

【中文标题】Bang IE7 - 这是啥意思?【英文标题】:Bang IE7 - What does it mean?Bang IE7 - 这是什么意思? 【发布时间】:2011-06-26 14:57:20 【问题描述】:

这个标题并不像看起来那么疯狂。我保证!!

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

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

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

我以前从未遇到过这种情况——我一直将条件 cmets 用于特定于 IE 的样式(而且对于它的价值,我更喜欢将所有特定于 IE 的样式完全分开)。

【问题讨论】:

@shadow 是的。 :) 请看:en.wikipedia.org/wiki/Exclamation_mark 顺便说一句,您使用什么浏览器?是IE吗? 【参考方案1】:

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

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

!ie

Internet Explorer 7 修复了其中一个 !important 标识符的问题, 但它仍然有问题,当 标识符中有错误。如果 非法标识符名称用于 重要的地方,Internet Explorer 7岁及以下将处理财产 通常而不是失败。 因此,在任何样式声明中 块,您可以包含属性 仅适用于互联网 Explorer 并添加一个 !ie 标识符。 几乎任何词都可以用在合适的位置 即。

!ie 标识符允许属性 适用于 IE 7 及以下版本。它 将来可能会或可能不会起作用 版本。警告:这使用无效 CSS!

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

实际文本 ie7 不是必需的,但它是一个合理的字符串,可以提醒人们黑客背后的目的。

【讨论】:

不错,没听说过这个。但毫无疑问,这是一种危险且丑陋的黑客攻击 我从未亲自使用过它,但我敢打赌,编写 Stack Overflow CSS 的人都知道他们在做什么,所以它必须有效。我通常只坚持使用条件 cmets 为每个必须支持的 IE 版本加载额外的样式表,因为每个人都明白这一点。 很棒的发现!我将在... 48 分钟内对此投赞成票,但现在,我会将其标记为答案。 :)

以上是关于Bang IE7 - 这是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

这是啥意思? [C#]

这是啥意思?

这是啥意思?

请高手解释下这是啥意思

这是啥意思? initWithFrame:CGRectZero]

“getaddrinfo 失败”,这是啥意思?