2013-03-08 57 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;規則。