Google chrome 在Firefox上使用LESSCS和浏览器黑客
我正在将css文件转换为更少的手动方式,并试图找到一种实现特定于浏览器的css的方法。我试图使用网站上提到的~“”来逃避它,但它似乎对整个代码块都不起作用 对于IE,这些工作:Google chrome 在Firefox上使用LESSCS和浏览器黑客,google-chrome,firefox,escaping,less,Google Chrome,Firefox,Escaping,Less,我正在将css文件转换为更少的手动方式,并试图找到一种实现特定于浏览器的css的方法。我试图使用网站上提到的~“”来逃避它,但它似乎对整个代码块都不起作用 对于IE,这些工作: padding: ~"5px\9"; /* IE8 and below */ *padding:4px; /* IE7 and below */ _padding:2px; /* IE6 */ 对于Chrome来说,这是可行的: /* This will apply the styling only to Ch
padding: ~"5px\9"; /* IE8 and below */
*padding:4px; /* IE7 and below */
_padding:2px; /* IE6 */
对于Chrome来说,这是可行的:
/* This will apply the styling only to Chrome and Safari */
@media screen and (-webkit-min-device-pixel-ratio:0) {
#mySelector {
color: red;
}
}
但是,Firefox呢?我如何逃避这样的事情:
/* This will apply the styling only to Firefox */
@-moz-document url-prefix() {
#mySelector {
color: red;
}
}
根据其他黑客的评论和可用性,我创建了一个变通方法 它使用WinLess.org编译器进行编译(http://winless.org/online-less-compiler)如前所述 它不使用DotLess进行编译,所以我刚刚扭转了这种做法。而不是:
#mySelector {
color: red;
}
/* This will apply the styling only to Firefox */
@-moz-document url-prefix() {
#mySelector {
color: green;
}
}
相反,我做了:
/* FF needs green*/
#mySelector {
color: green;
/*IEs need red*/
color: ~"red\9";
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
#mySelector {
/*Chrome needs red*/
color: red;
}
}
后者工作正常,没有任何错误(使用LESC v1.3.0测试)。我在Visual Studio中使用的是无点VS扩展,它可能有不同的版本。我可以检查一下。这似乎和预期的一样,如果我对插件的输出感到好奇,我倾向于在Thank@JohnC中尝试更少的代码。我猜是我的编译器。我找到了一个黑客,让我的黑客暂时绕过它;在IE9工作