通常我使用modernizr来了解浏览器的功能。同时,我使用LESS CSS使我的 CSS 更具可读性和可维护性。使用 LESS 嵌套规则的常见样式如下所示:
#header {
color: black;
.logo {
width: 300px;
color: rgba(255,255,255,.6);
&:hover { text-decoration: none }
}
}
然后,如果我使用modernizr 风格的后备,我为前一个块添加这个文本:
.no-js #header,
.no-rgba #header {
.logo {
color: white;
}
}
所以,看起来我有两个代码分支,每次我需要检查另一个兼容性方面时,分支的数量都会增加。这段代码的可维护性较差,因为您必须找到应用于每个元素的所有样式,而我们使用嵌套类获得的好处就消失了。
问题:有没有办法在 LESS 语法中包含这样的后备,而不是为 .no-js 和其他 .no-smth 类启动新的代码分支?