How to reset CSS3 *-transform: translate(…)?

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; ?


Solution 1:

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

Solution 2:

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