0

我正在调整一个网站以使其与 IE7 一起使用,并且想知道:所有这些 IE hack 来自哪里?

问题是我无法想象一个人会说“是的,我们不会实施display: inline-block,但*display: inline会工作”。

这对我来说没有意义。那么是谁创造了这些黑客呢?是否有人发明了它们来替代某些不起作用的属性,或者这纯粹是运气?

PS:我了解您是否想将这个问题作为离题或其他内容结束,但如果至少您有链接或其他相关内容,我将不胜感激:)

4

1 回答 1

3

hacks 起作用的原因是浏览器实现的变化和错误,主要是在旧版本的 Internet Explorer 中。

许多 hack 都围绕着对不寻常的选择器组合的不寻常反应。通常使用的是根据标准非法的选择器组合。由于标准没有指定非法代码应该如何工作,不同的浏览器对它的反应不同,这用于针对特定的浏览器。

在示例*display: inline;中,有一个错误的实现和错误处理的变体的组合。在 IE 中,该inline模式的实现有点像inline-block在其他浏览器中的实现,并且在选择器中使用星号会使其他浏览器忽略该规则。该 hack 将适用display: inline;于旧版本的 IE,并让其他浏览器使用该display: inline-block;规则。

于 2013-03-08T09:48:06.300 回答