2012-04-01 2 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

Смежные вопросы