英文:
Is there a CSS tool / language / syntax to simplify "-moz" "-webkit" "-ms" "-o" statements compatibility?
问题
这是一个具有许多兼容性版本的示例代码:
.shake {
background-color: #2bd993;
color: #fff;
font-size: 24px;
margin: 30px 0 0;
padding: 20px;
text-transform: uppercase;
}
.shake:hover {
animation: shake 150ms 2 linear;
-moz-animation: shake 150ms 2 linear;
-webkit-animation: shake 150ms 2 linear;
-o-animation: shake 150ms 2 linear;
}
@keyframes shake {
0% {
transform: translate(3px, 0);
}
50% {
transform: translate(-3px, 0);
}
100% {
transform: translate(0, 0);
}
}
@-moz-keyframes shake {
0% {
-moz-transform: translate(3px, 0);
}
50% {
-moz-transform: translate(-3px, 0);
}
100% {
-moz-transform: translate(0, 0);
}
}
@-webkit-keyframes shake {
0% {
-webkit-transform: translate(3px, 0);
}
50% {
-webkit-transform: translate(-3px, 0);
}
100% {
-webkit-transform: translate(0, 0);
}
}
@-ms-keyframes shake {
0% {
-ms-transform: translate(3px, 0);
}
50% {
-ms-transform: translate(-3px, 0);
}
100% {
-ms-transform: translate(0, 0);
}
}
@-o-keyframes shake {
0% {
-o-transform: translate(3px, 0);
}
50% {
-o-transform: translate(-3px, 0);
}
100% {
-o-transform: translate(0, 0);
}
}
是否有CSS语言/语法/编写更少代码同时最大化向后兼容性的技巧?
到目前为止,我所取得的最好成果是使用CSS变量,但我想知道是否可以进一步简化。
英文:
This is an example code with many compatibility versions:
.shake {
background-color: #2bd993;
color: #fff;
font-size: 24px;
margin: 30px 0 0;
padding: 20px;
text-transform: uppercase;
}
.shake:hover {
animation: shake 150ms 2 linear;
-moz-animation: shake 150ms 2 linear;
-webkit-animation: shake 150ms 2 linear;
-o-animation: shake 150ms 2 linear;
}
@keyframes shake {
0% {
transform: translate(3px, 0);
}
50% {
transform: translate(-3px, 0);
}
100% {
transform: translate(0, 0);
}
}
@-moz-keyframes shake {
0% {
-moz-transform: translate(3px, 0);
}
50% {
-moz-transform: translate(-3px, 0);
}
100% {
-moz-transform: translate(0, 0);
}
}
@-webkit-keyframes shake {
0% {
-webkit-transform: translate(3px, 0);
}
50% {
-webkit-transform: translate(-3px, 0);
}
100% {
-webkit-transform: translate(0, 0);
}
}
@-ms-keyframes shake {
0% {
-ms-transform: translate(3px, 0);
}
50% {
-ms-transform: translate(-3px, 0);
}
100% {
-ms-transform: translate(0, 0);
}
}
@-o-keyframes shake {
0% {
-o-transform: translate(3px, 0);
}
50% {
-o-transform: translate(-3px, 0);
}
100% {
-o-transform: translate(0, 0);
}
}
Are there CSS languages / syntax / tips to write less code while maximizing retrocompatibility ?
The best I have achieved so far was with the use of CSS variables, but I wonder if we can simplify further.
答案1
得分: 1
如果您使用SASS或类似工具,可以添加Autoprefixer,您还可以查看https://caniuse.com/,看看是否仍然需要添加前缀。
英文:
If you would use SASS or the like you could add an Autoprefixer, you can also check https://caniuse.com/ and see if it is still necessary to add the prefixes
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论