v3shin
@v3shin
Веб-шаман

Как поменять только одно свойство transform, если их несколько?

Приветствую. Есть ли в css возможность поменять только одно transform в случае, когда к элементу их применяется несколько? К примеру, как повернуть элемент, не меняя сдвига:
.test {
  transform: translate(10px, 20px) rotate(90deg);
}
.test:hover {
  transform: rotate(180deg);
}

П.С: в данном случае прописать translate в css - не вариант, так как это значение генерируется. Это все решается с помощью js, но вопрос в том, решается ли это средствами css.
  • Вопрос задан
  • 273 просмотра
Решения вопроса 1
Ankhena
@Ankhena Куратор тега CSS
Нежно люблю верстку
- На js берете старое значение и вносите изменения.
- На css делаете кучу оберток и применяете каждой по одной трансформации.

На обычном CSS без фокусов:
.test {
  transform: translate(10px, 20px) rotate(90deg);
}
.test:hover {
  transform: translate(10px, 20px) rotate(180deg);
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
svoboda200786
@svoboda200786
Тоже озаботился. А почему нельзя отдельно свойства прописать? Без transform: .myclass{translate: 10px 20px; rotate: 90deg;} Вроде бы и так работает. Только при такой записи запятая между координатами в транслейте не нужна.

Updt Делал в фаерфоксе, попробовал в хроме - не работает. На андроиде тоже. Вот подробнее: https://drafts.csswg.org/css-transforms-2/

И еще про способы отдельного изменения transform: https://danielcwilson.com/blog/2017/10/all-the-tra...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы