通常我使用modernizr来查找浏览器的能力。与此同时,我使用LESS CSS使我的CSS更易读和易于维护。使用LESS嵌套规则的常见样式如下:
#header {
color: black;
.logo {
width: 300px;
color: rgba(255,255,255,.6);
&:hover { text-decoration: none }
}
}
那么,如果我使用modernizr style fall-back,我会为以前的块添加这个文本:
.no-js #header,
.no-rgba #header {
.logo {
color: white;
}
}
看起来我有两个代码分支,每次需要检查另一个兼容性方面时,分支的数量将会增加。这种代码难以维护,因为你必须找到应用于每个元素的所有样式,并且使用嵌套类所获得的好处也会消失。
问题是:在LESS语法中是否有一种方法可以包含这样的回退,并且不为.no-js和其他.no-smth类启动新的代码分支?