我一直在寻找解决我遇到的 CSS 问题的方法。我曾经使用过一个为 Internet Explorer 创建自定义规则。
margin-top:45px;
*margin-top:0px;
这个 hack 是否适用于所有 IE 浏览器?这个 hack 是否出现在任何版本的 Firefox 或 Safari 中?
我一直在寻找解决我遇到的 CSS 问题的方法。我曾经使用过一个为 Internet Explorer 创建自定义规则。
margin-top:45px;
*margin-top:0px;
这个 hack 是否适用于所有 IE 浏览器?这个 hack 是否出现在任何版本的 Firefox 或 Safari 中?
这适用于 IE7 及以下版本。但请注意,这不是有效的 CSS,它可能随时中断。有关各种 CSS hack 及其影响的浏览器的更全面列表,请参见此处。
尽管 Internet Explorer 7 更正了属性名称带有下划线或连字符前缀时的行为,但其他非字母数字字符前缀的处理方式与 IE6 中的相同。因此,如果您在属性名称前添加星号 (*) 等非字母数字字符,则该属性将在 IE 中应用,而不是在其他浏览器中应用。与连字符和下划线方法不同,CSS 规范没有保留星号作为前缀,因此随着 CSS 规范的发展,使用这种 hack 可能会导致意外行为。
我强烈建议您重新考虑您是否真的需要此 hack,以及是否没有更好的方法来做您想做的事。