【发布时间】:2010-12-14 00:31:22
【问题描述】:
以下内容来自 Yahoo CSS 重置。有人可以解释一下星号的用途吗?
body {
font:13px/1.231 arial,helvetica,clean,sans-serif;
*font-size:small;
*font:x-small;
}
【问题讨论】:
标签: css
以下内容来自 Yahoo CSS 重置。有人可以解释一下星号的用途吗?
body {
font:13px/1.231 arial,helvetica,clean,sans-serif;
*font-size:small;
*font:x-small;
}
【问题讨论】:
标签: css
它是针对 Internet Explorer 7 或更低版本的浏览器特定 CSS hack。
*属性:值
虽然 Internet Explorer 7 已更正 当属性名称为 前缀为下划线或 连字符,其他非字母数字 字符前缀被视为 在IE6中。因此,如果您添加一个 非字母数字字符,例如 紧接在 a 之前的星号 (*) 属性名称,属性将是 应用于IE而不是其他 浏览器。与连字符和 下划线方法,CSS 规格无保留 星号作为前缀,所以使用 这种黑客攻击可能会导致 作为 CSS 的意外行为 规范不断发展。
*property: value 在 IE 7 及更低版本中应用属性值。它可能或可能 在未来的版本中不起作用。警告: 这使用了无效的 CSS。
发件人:http://www.javascriptkit.com/dhtmltutors/csshacks3.shtml
【讨论】:
这是一个 Internet Explorer hack。如果您在属性名称前添加星号 (*) 等非字母数字字符,则该属性将在 IE7 及以下版本中应用,但在其他浏览器中不适用。
【讨论】:
除了 IE 之外的所有浏览器都会忽略这些规则。它被称为明星黑客。我认为IE7会忽略标准模式下的规则。
在这种情况下,IE 6 有时会设置字体规则,然后覆盖 IE 7。
【讨论】:
放置这样的字符是让 IE 6 使用样式属性的一种技巧/解决方法,同时将其隐藏在更“健全”的浏览器中。
来自here:
长话短说,Internet Explorer CSS 解析器太过分了 积极地试图发现财产的名称和意愿 事实上忽略前导非字母数字字符。根据我的测试 似乎至少从 IE5 开始就是这种情况。
【讨论】:
据我所知,星号会阻止 Firefox 读取属性,但在 IE 中有效。
【讨论】:
这是一个 CSS hack,该规则仅适用于 IE7 及以下版本。
我不建议使用它,有更好的方法来修复 IE 不兼容问题。
【讨论】: