Как сбросить CSS3 * -transform: translate (…)?

#css #reset #css-transforms

#css #Сброс #css-преобразования

Вопрос:

Как я могу сбросить CSS transform properties translate Значение CSS?

Скажем, у меня есть:

 div.someclass {
    -webkit-transform: translate3d(0, -50%, 0);
       -moz-transform: translate(0, -50%);
        -ms-transform: translate(0,- 50%);
         -o-transform: translate(0, -50%);
            transform: translate3d(0, -50%, 0);
}
  

Тогда как мне очистить все преобразования / переводы?


Должен ли я использовать: translate(0, 0); / translate3d(0, 0, 0); или transform:auto; ?

Ответ №1:

Согласно документации MDN, начальное значение равно none .

Вы можете сбросить преобразование с помощью:

 div.someclass {
    transform: none;
}
  

Использование префикса поставщика:

 div.someclass {
    -webkit-transform: none; /* Safari and Chrome */
       -moz-transform: none; /* Firefox */
        -ms-transform: none; /* IE 9 */
         -o-transform: none; /* Opera */
            transform: none;
}
  

Ответ №2:

Safari iOS 10.3, 11.0 и Safari 11 на macOS на самом деле не сбросили преобразование должным образом, -webkit-transform: none; или transform: none; мне пришлось вместо этого сбросить все значения, которые я изменил с помощью свойства transform, поэтому, по сути, я думаю, что первый вариант

 translate(0, 0); / translate3d(0, 0, 0);
  

это путь к совместимости с браузером на данный момент.
Так что это ДОЛЖНО сработать:

 -webkit-transform: translate(0, 0) translate3d(0, 0, 0);
-moz-transform: none;
-ms-transform: none;
-o-transform: none;
transform: translate(0, 0) translate3d(0, 0, 0);
  

Комментарии:

1. Просто чтобы подтвердить, что эта проблема все еще существует в Safari iOS 14.0 в 2021 году. Теперь нет необходимости в префиксах, но transform: none не вступает в силу немедленно; transform: translate(0px) работает даже для отмены другого типа преобразования, такого как поворот. Поведение Safari сбивало меня с толку, пока я не нашел этот вопрос и ответ; transform: none кажется, работает со всеми другими браузерами, которые я пробовал.