2013-03-08 61 views
0

我正在调整一个网站,使其与IE7的工作,并想知道:所有这些IE黑客从哪里来?什么是IE浏览器CSS黑客的起源?

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

这对我没有意义。那么谁创造了这些黑客?有人发明他们作为一些不起作用的物业的替代品,或者这是纯粹的运气,这可以工作吗?

PS:我理解,如果你想关闭这个问题,因为偏离主题或别的东西,但是如果你至少有一个关于该链接或东西,我将不胜感激:)

+1

我认为他们把他们从兔子的屁股中拉出来。或者它是一顶帽子,我忘了...... – 2013-03-08 09:36:22

+1

http://www.456bereastreet.com/archive/200512/the_history_of_css_hacks/ 我想我回想起几年前以人名命名的几个CSS黑客,当我必须支持IE6。我认为他们是由各种各样的开发人员发现/发布的...... – 2013-03-08 09:39:55

回答

3

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

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

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