如何重置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;
?
答案 0 :(得分:86)
根据MDN documentation,Initial value为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;
}
答案 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);