5

我一直在寻找解决我遇到的 CSS 问题的方法。我曾经使用过一个为 Internet Explorer 创建自定义规则。

margin-top:45px;
*margin-top:0px;

这个 hack 是否适用于所有 IE 浏览器?这个 hack 是否出现在任何版本的 Firefox 或 Safari 中?

4

1 回答 1

9

这适用于 IE7 及以下版本。但请注意,这不是有效的 CSS,它可能随时中断。有关各种 CSS hack 及其影响的浏览器的更全面列表,请参见此处。

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

我强烈建议您重新考虑您是否真的需要此 hack,以及是否没有更好的方法来做您想做的事。

于 2009-03-14T12:50:32.670 回答