Google chrome 在Firefox上使用LESSCS和浏览器黑客

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

我正在将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 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工作