61

如何重置 CSStransform属性 CSStranslate值?

说我有:

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;

4

2 回答 2

102

根据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;
}
于 2011-10-17T09:09:45.550 回答
5

macOS 上的 Safari iOS 10.3、11.0 和 Safari 11 实际上并没有正确重置转换,-webkit-transform: none;或者transform: none; 我不得不重置我使用转换属性更改的所有值,所以基本上我认为第一个选项

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);
于 2017-11-20T22:30:54.347 回答