2012-01-25 14 views
1

jqueryのCSSプロパティのブラウザ固有のフォールバックを指定する方法を教えてください。ブラウザ固有のCSS式の代替方法

など。私は

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:

1

jQueryを使用してクラスを切り替え、CSSで複数の値を宣言しますか?

+0

$(selector).css('background-image','linear-gradient(x,y,z)'); 
この場合、勾配値の実際の色は、プログラム決定され、可能な値の限定されたセットに制約されないので、それは、この問題のために動作しません。 –

+1

それから、その場でスタイルを書いてください。 – graphicdivine

+0

私はあなたが何を意味しているかを完全には理解していません。 –