62

How can I reset CSS transform properties CSS translate value?

Say I have:

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);
}

Then how do I clear all transformations/translations?


Should I use: translate(0, 0); / translate3d(0, 0, 0); or transform:auto; ?

Community
  • 1
  • 1
knittl
  • 246,190
  • 53
  • 318
  • 364

2 Answers2

105

As per the MDN documentation, the Initial value is none.

You can reset the transformation using:

div.someclass {
    transform: none;
}

Using vendor prefix:

div.someclass {
    -webkit-transform: none; /* Safari and Chrome */
       -moz-transform: none; /* Firefox */
        -ms-transform: none; /* IE 9 */
         -o-transform: none; /* Opera */
            transform: none;
}
Zuul
  • 16,217
  • 6
  • 61
  • 88
Simone
  • 20,302
  • 14
  • 79
  • 103
5

Safari iOS 10.3, 11.0 and Safari 11 on macOS didn't actually reset the transformation properly with -webkit-transform: none; or transform: none; I had to instead reset all the values I changed with the transform property so essentially I think the first option

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

is the way to go for browser compatibility for now. So this SHOULD work:

-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);
brandito
  • 698
  • 8
  • 19
  • 2
    Just to confirm that this problem still exists in Safari iOS 14.0 in 2021. No need for prefixes now, but `transform: none` doesn't take effect immediately; `transform: translate(0px)` does work, even to cancel another type of transform such as a rotation. Safari's behaviour was baffling me until I found this question and answer; `transform: none` seems to work with every other browser I have tried. – Andy31 Feb 15 '21 at 20:11