我正在调整一个网站以使其与IE7一起工作,并且想知道:所有这些IE黑客来自哪里?
事情是,我无法想象一个人说“是的,我们不会实施display: inline-block
,但*display: inline
会起作用。”
这对我没有意义。那么谁创造了这些黑客?是否有人发明它们作为某些不起作用的属性的替代品,或者这是否真的有运气呢?
PS:我理解你是否想要将这个问题作为主题或其他内容关闭,但如果至少你有一个链接或者其他什么我会很感激:)
答案 0 :(得分:3)
黑客工作的原因是浏览器实现中的变化和错误,主要是在旧版本的Internet Explorer中。
许多黑客围绕对不寻常的选择组合的不寻常反应。经常使用的是根据标准非法的选择器组合。由于标准没有规定非法代码应该如何工作,不同的浏览器会对它做出不同的反应,这用于针对特定的浏览器。
在示例*display: inline;
中,有一个错误实现和错误处理变体的组合。在IE中,inline
模式在其他浏览器中的实现方式与inline-block
类似,并且在选择器中使用星号会使其他浏览器忽略该规则。该黑客将在旧版本的IE中应用display: inline;
,并让其他浏览器使用display: inline-block;
规则。