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

a 夏天 提交于 2019-11-30 06:23:30

问题


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


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



回答2:


In Safari iOS 10.3 and 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);


来源:https://stackoverflow.com/questions/7790617/how-to-reset-css3-transform-translate

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!