2016-08-22 1 views
2

Итак, у меня есть DIV, например:CSS - добавить преобразование к элементу без удаления существующего

<div class="rotate-90"></div> 

и CSS:

.rotate-90 
{ 
    transform: rotate(90deg); 
} 

, и я хочу добавить еще один класс ДИВ, названный «масштабно-2», как это:

<div class="rotate-90 scale-2"></div> 

.scale-2 
{ 
    transform: scale(2); 
} 

, но когда я пытаюсь объединить их, второй класс переопределяет первый, так что я получаю только масштабированный div и не вращается. Итак, как я могу объединить преобразования, не записывая код дважды или комбинируя коды классов?

Спасибо :)

+1

вы еще не можете. Трансформация является единственным свойством ** на данный момент **, поэтому ваш второй переопределяет ваш первый. –

+0

Вы можете использовать javascript, а не только CSS. – Dellirium

+0

duplicate http://stackoverflow.com/questions/15768315/css3-how-to-rotate-and-scale-an-img-at-the-same-time – Era

ответ

2

Поскольку вы используете transform свойство снова и его главной предыдущей.

Вы можете использовать оба в одном преобразовании как этого

.rotate-90.scale-2 { 
    transform: rotate(90deg) scale(2); 
} 

Transform свойства следует использовать с префиксом, чтобы она работает во всех браузерах, как этого

.rotate-90.scale-2 { 
    transform: rotate(90deg) scale(2); 
    -moz-transform: rotate(90deg) scale(2); 
    -ms-transform: rotate(90deg) scale(2); 
    -webkit-transform: rotate(90deg) scale(2); 
    -o-transform: rotate(90deg) scale(2); 
} 
+1

Он/она не хочет комбинировать атрибуты. – Era

+0

'без написания кода дважды или комбинирования кодов классов?' – Era

2

Transform-правила переопределить, как и любые другие правила.

Однако вы можете объединить трансформирует в одном правиле:

.rotate-90.scale-2 { 
    transform: rotate(90deg) scale(2); 
} 

Если объединение двух классов не ваше желание (который я совершенно не понимаю, но уважение), и если ваша структура имеет только эти два эффекта, чем вы могли бы использовать масштаб для расширения масштабов правил:

.scale-2 { 
    zoom: 2; 
} 
+1

Он/она не хочет комбинировать атрибуты. – Era

+0

@Era нет другого способа сделать это. Кроме того, OP уже объединяет классы: 'class =" rotate-90 scale-2 "' - так почему бы ему не адаптировать свой CSS соответственно и правильно? –

+0

@ SebastianG.Marinescu, я работаю над небольшой css-каркасой, поэтому я хочу создавать классы и использовать их, когда это необходимо. Я не хочу, чтобы мой FW переопределял другой код или другой код, чтобы переопределить мой код FW. Я также не хочу сочетать классы, я хочу, чтобы каждый класс выполнял то, что он должен делать. – StyleSh1t