2010-05-03 18 views
0

標題總結了它。我會避開這條路,並說我知道css hacks是骯髒醜陋的可怕東西。雖然有時骯髒的問題需要骯髒的解決方案,雖然:)任何人都知道一個工作的CSS選擇器黑客工程在最近的Safari,但不是鉻?

所以沒有人知道的CSS選擇器黑客適用於最近的Safari瀏覽器版本,但不是一般的webkit黑客?我的網站在Chrome瀏覽器中運行正常,但Safari瀏覽器中存在一個錯誤。所以,如果有人知道我可以如何選擇一個元素,只有在safari中有特定的風格讓我知道!

+0

是一個基於JavaScript的解決方案出了問題? – 2010-05-03 17:14:07

+0

如果多數民衆贊成什麼來... ...就這樣吧。 – user318144 2010-05-03 17:15:19

+2

只是好奇...您遇到的safari和chrome有什麼區別? – 2010-05-03 17:19:21

回答

2

我該怎麼做,是用javascript瀏覽瀏覽器的用戶代理,然後在<body>元素的基礎上添加一個類。你不必依賴於任何類型的黑客攻擊這樣的話,你只寫你的選擇基於類:

.safari .misbehaving-div { 
} 

我相信已經有一個JS框架,正是這樣做的,但我不記住名字。

+0

如果我已經在頁面上爲其他目的加載了jQuery。 jQuery解決方案最好嗎? – user318144 2010-05-03 17:20:18

+1

JQuery將報告Chrome和Safari的webkit,因爲它們都是基於webkit的。您必須以「正常」的方式查看userAgent,但您可以使用jQuery將該類添加到主體中。 – 2010-05-03 17:27:11

0

這工作完全

@media screen and (-webkit-min-device-pixel-ratio:0) { 
     /* Safari and Chrome */ 
     .myClass{ 
      background: red; 
     } 

     /* Safari only override */ 
     ::i-block-chrome,.myClass{ 
      background: green; 
     } 
    } 
相關問題