IE css黑客的起源是什么?

时间:2013-03-08 09:34:56

标签: css internet-explorer

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

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

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

PS:我理解你是否想要将这个问题作为主题或其他内容关闭,但如果至少你有一个链接或者其他什么我会很感激:)

1 个答案:

答案 0 :(得分:3)

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

许多黑客围绕对不寻常的选择组合的不寻常反应。经常使用的是根据标准非法的选择器组合。由于标准没有规定非法代码应该如何工作,不同的浏览器会对它做出不同的反应,这用于针对特定的浏览器。

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