如何重置CSS3 * -transform:translate(...)?

时间:2011-10-17 07:30:50

标签: css3 reset css-transforms

如何重置CSS transform属性CSS translate值?

说我有:

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;

2 个答案:

答案 0 :(得分:86)

根据MDN documentationInitial valuenone

您可以使用以下方式重置转换:

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

答案 1 :(得分:2)

在Safari iOS 10.3和11.0以及macOS上的Safari 11实际上没有使用-webkit-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);