2012-12-05 83 views
2

請指導我如何編寫瀏覽器特定的CSS屬性(不是類或ID)?我無法爲不同的瀏覽器管理不同的css文件。我想使用相同的CSS文件和類,但在差異的情況下,我會提及瀏覽器太平洋屬性。如何編寫瀏覽器特定的CSS屬性?

請指導我該怎麼做。

+0

聲音,但這些只對某些屬性有效。無論你將爲不同的瀏覽器編寫單獨的代碼。爲什麼_不使用不同的CSS文件或將瀏覽器特定的標記應用於HTML的主體? – Enrico

回答

2

您可以使用jQuery應用不同的CSS類

if($.browser.msie){ 
$("#someDiv").addclass("SomeClass"); 
} 

$ .browser.msie是Internet Explorer
.browser.chrome爲$鉻
$ .browser.mozilla爲Mozilla
$ .browser.safari Safari瀏覽
.browser.opera $歌劇

這樣會給你的靈活性,當涉及到基於定位的問題

參考:像你想的供應商特定的前綴(如`-webkit`,`-moz`)http://api.jquery.com/jQuery.browser/

0

如果我可以我可以推薦不同的方法。不是爲每個瀏覽器編寫代碼,都可以測試該功能,然後根據該代碼修改代碼?如果是的話這個項目將是有幫助的:

http://modernizr.com/

+0

再次測試後我需要修復代碼。爲此,我需要知道如何編寫broswer spacific CSS :) – user576510

3

請再具體些,但是當你寫一般的CSS,你希望它與所有瀏覽器兼容。

比如像WebKit的變化,(在Firefox它MOZ),但通常,如果你在CSS中查找某些事情有辦法做到這一點在每一個瀏覽器。

background-image: -webkit-linear-gradient(left, #cccccc, #333333, #cccccc); 
background-image: -moz-linear-gradient(left, #cccccc, #333333, #cccccc); 
background-image: -ms-linear-gradient(left, #cccccc, #333333, #cccccc); 
background-image: -o-linear-gradient(left, #cccccc, #333333, #cccccc); 

例如,上面的代碼應該在最現代的瀏覽器,如果所有的人都那麼失敗就必須(在這個例子中純黑色)回退。

而且,你永遠可以使用不同的CSS文件,它不是很困難的。

+0

yentup請指導如何爲IE6還是IE7寫?怎麼樣Safari? – user576510

+0

Safari使用'webkit'如Chrome,你必須來查找IE瀏覽器的兼容性,但你可以做這樣的事情:<! - [如果IE 8]> ' ' – jackcogdill

1

很簡單,你要麼需要寫出來,每個供應商名稱或者使用CSS預處理少等。

Prefixr兼作崇高文本插件,如果你碰巧使用它(這是我做的,除了我少用)。