2012-01-25 27 views
1

如何爲jQuery中的css屬性指定特定於瀏覽器的回退?如何爲瀏覽器特定的css表達式回退

E.g.我想要做的

h1 { 
    background-image: -webkit-linear-gradient(left, white, black); 
    background-image: -moz-linear-gradient(left, white, black); 
    background-image: -o-linear-gradient(left, white, black); 
    background-image: -ms-linear-gradient(left, white, black); 
} 
  • $('h1').css({'background-image': x, 'background-image': y})等效 - 當然JS語法將只允許一個「背景圖片」鍵。
  • $('h1').css('background-image', x).css('background-image', y) - jquery將覆蓋第一個值。
  • $('h1').css('background-image', x + ',' + y) - 瀏覽器不喜歡它。

回答

1

你可以問其前綴,它希望通過將你的CSS到一個元素,然後回讀值– $('h1').css('background-image');然後可以使用返回值要知道,當你設置background-image後來使用什麼前綴的瀏覽器。

更重要的是,你可以採取jQuery的CSS掛鉤的優勢,以標準化所有調用.css。有一組很棒的鉤子here;你可能對gradients hook感興趣。

一旦安裝了鉤,it's as easy as:

$(selector).css('background-image','linear-gradient(x,y,z)'); 
1

使用jQuery切換類,並在CSS中聲明多個值?

+0

在這種情況下,坡度值的實際顏色編程確定,並且不限制爲一組有限的可能值,這樣就不會針對此問題的工作。 –

+1

然後即時編寫樣式。 – graphicdivine

+0

不完全確定我明白你的意思。 –