2012-04-01 7 views
0

CSSを使用して背景サイズを変更しようとしています:100の高さと100の幅が必要ですが、10,000のクラスを作成したくありません。例えばバックグラウンドサイズのクラスを結合する方法はありますか?

// style 
.tall {background-size: whatever 200%} 
.narrow {background-size: 50% existing} 
// javascript 
element.className ="tall narrow"; 

私が知る限り、すべての可能な値を指定する必要があります。

.tall1 {background-size: 1% 200%} 
.tall2 {background-size: 2% 200%} 
.tall3 {background-size: 3% 200%} // etc. 

これには何らかの方法がありますか?

+0

あなたがCSSだけであれば、私はないと思います。 JSはオプションですか? – Joseph

答えて

2

Javascriptを使用している場合は、dynamically set the valuesです。

element.style.backgroundPosition = value1 + '% ' + value2 + '%'; 
+0

これは速いですか?アニメーションにはとても速いので、私はCSSを使っています。例えば。 http://www.romancortes.com/blog/pure-css-coke-can/ - 私は、既存のCSSを使用することはJavaScriptを使って変更するよりもはるかに高速であるという印象を得るか、または私は愚かではないのですか? –

+0

このようにインラインスタイルを変更すると、非常に高速になります。その記事の外観(あなたが何か類似しているとしたら)は、素早く連続して何度も要素のクラスを変更するか、インラインスタイルに同じようにするかの選択です。いずれにしても、DOM要素のプロパティを変更しているだけなので(少なくともそれらは互いに同じ速さでなければなりません) – Alex