如何重置CSS3 * -transform:translate(…)?
我应该如何重置以前应用的CSS转换?
说我有:
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;
?
根据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; }
在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);