Less 较少的预处理器将删除重复的属性
我使用了initial来设置一个特定的颜色,但是IE不支持initial,所以我必须为它提供一个特定的颜色。下面是我使用的格式 最初:Less 较少的预处理器将删除重复的属性,less,Less,我使用了initial来设置一个特定的颜色,但是IE不支持initial,所以我必须为它提供一个特定的颜色。下面是我使用的格式 最初: a.link-ele { color: initial; &:hover { text-decoration: none; color: initial; } } 为了支持IE: a.link-ele { color: black; color: initial; &:hover { te
a.link-ele {
color: initial;
&:hover {
text-decoration: none;
color: initial;
}
}
为了支持IE:
a.link-ele {
color: black;
color: initial;
&:hover {
text-decoration: none;
color: black;
color: initial;
}
}
在这里,黑色将在IE中设置,首字母将在支持它的浏览器中设置,因为首字母稍后才出现
问题:为了优化CSS,只使用颜色:初始代码>因为它认为很明显第二个将被浏览器使用
好的,为此我做了以下工作:
a.link-ele {
color: initial;
&:hover {
text-decoration: none;
color: initial;
}
}
.link-ele {
color: black;
&:hover {
color: black;
}
}
我改变了特异性,认为Less不会删除它,但看起来Less仍然使用更高的特异性值
问题:如何使两个值都允许
注意:我知道如何使用不同的类名或其他方式使其工作,我只想知道是否有一个标志或一些我可以设置的东西,使两种颜色都允许
我已经在IE和其他浏览器中测试了上述概念,效果很好
我使用ember cli和emberjs framework,正如我在评论中提到的,Less编译器不会从编译后的输出中删除任何属性,即使它是冗余信息。编译器仍然会给出以下输出,其中包含color:black
和color:initial
设置。有一个演示
因此,删除冗余属性应该由一些CSS压缩器或缩微器来完成,因为它们通常会去除所有冗余和不需要的信息。在你的情况下,它似乎是由minifyCSS 默认情况下,Less编译器不会删除重复的属性。您可以检查默认的编译输出。也许您在编译(或)其他地方时启用了一些压缩/缩小选项。谢谢,您说得对。它是迷你们的。你能把它作为一个答案,这样我就可以接受了吗?这也是关于帮助别人的,对某人来说,把它作为一个答案比作为一个评论要容易得多:)足够公平@wallop。给我几分钟,我会把它加进去。
a.link-ele {
color: black;
color: initial;
}
a.link-ele:hover {
text-decoration: none;
color: black;
color: initial;
}