我已经开始发现某些 css 声明的重复有点乏味。
例如,如果我想利用旋转变换并在 mozilla、chrome/safari 上执行类似来回旋转的操作,即我必须执行以下操作:
@-webkit-keyframes wiggle {
0% {-webkit-transform:rotate(12deg);}
50% {-webkit-transform:rotate(-6deg);}
100% {-webkit-transform:rotate(12deg);}
}
@-moz-keyframes wiggle {
0% {-moz-transform:rotate(12deg);}
50% {-moz-transform:rotate(-6deg);}
100% {-moz-transform:rotate(12deg);}
}
@-ms-keyframes wiggle {
0% {-ms-transform:rotate(12deg);}
50% {-ms-transform:rotate(-6deg);}
100% {-ms-transform:rotate(12deg);}
}
然后当然我需要单独应用这些:
.wiggle {
-webkit-animation: wiggle 5s infinite;
-moz-animation: wiggle 5s infinite;
-ms-animation: wiggle 5s infinite;
}
在所有这些中,唯一不同的是 ms、moz 和 webkit,我觉得它们有点愚蠢。理想情况下,上面的 20 行代码可以精简到 8 行。但是每个浏览器似乎都在相互交战,因此各地的 css 编码人员都不得不受苦。
这是 CSS 和浏览器实现计划继续推进这些事情的方式吗?有没有更好更短的方法?这样做似乎不利于创造更 DRY 的编码体验。