停止SASS编译CSS中的尾随空格

停止SASS编译CSS中的尾随空格,css,sass,web-compiler,Css,Sass,Web Compiler,我正试图通过一个特定于浏览器的CSS攻击来攻击IE8和IE9,如图所示。但是,我使用的是SASS(特别是WebCompiler Visual Studio扩展),它编译分号之前的尾随空格。 因此 变成 .class { display: none \;} 打破了僵局。有什么办法可以解决这个问题吗?我建议以html为目标,如下所示: <!--[if IE 8]> <html class="ie8"> <![endif]--> <!-

我正试图通过一个特定于浏览器的CSS攻击来攻击IE8和IE9,如图所示。但是,我使用的是SASS(特别是WebCompiler Visual Studio扩展),它编译分号之前的尾随空格。 因此

变成

.class { display: none \;}

打破了僵局。有什么办法可以解决这个问题吗?

我建议以html为目标,如下所示:

<!--[if IE 8]>            <html class="ie8"> <![endif]-->
<!--[if IE 9]>            <html class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]> <html>             <![endif]-->
但是,如果您想保持更干净的html和更小的css,您可以使用一些javascript库来针对特定的浏览器,比如将浏览器名称和版本作为类放入html标记中,为每个浏览器生成单独的样式表,而不是在您的脑中调用它们:

<!--[if IE 8]>
    <link rel="stylesheet" type="text/css" href="ie8.css" />
<![endif]-->

<!--[if IE 9]>
    <link rel="stylesheet" type="text/css" href="ie9.css" />
<![endif]-->


请记住,.

我建议以html为目标,如下所示:

<!--[if IE 8]>            <html class="ie8"> <![endif]-->
<!--[if IE 9]>            <html class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]> <html>             <![endif]-->
但是,如果您想保持更干净的html和更小的css,您可以使用一些javascript库来针对特定的浏览器,比如将浏览器名称和版本作为类放入html标记中,为每个浏览器生成单独的样式表,而不是在您的脑中调用它们:

<!--[if IE 8]>
    <link rel="stylesheet" type="text/css" href="ie8.css" />
<![endif]-->

<!--[if IE 9]>
    <link rel="stylesheet" type="text/css" href="ie9.css" />
<![endif]-->


请记住,.

如果需要空格,可以将空字符串串联起来

SASS:

.class{ display: none \ +'';}
.class {
  display: none \ ;
}
输出:

.class{ display: none \ +'';}
.class {
  display: none \ ;
}

如果需要空格,可以连接空字符串

SASS:

.class{ display: none \ +'';}
.class {
  display: none \ ;
}
输出:

.class{ display: none \ +'';}
.class {
  display: none \ ;
}

您需要经常重新编译SASS吗?我想说的是,使用生成的CSS,手动替换空格,然后用它代替SASS。你需要经常重新编译SASS吗?我会说,使用生成的CSS,手动替换空格,并使用它来代替SASS。虽然我很欣赏这种方法,但在我工作的环境中,我需要避免添加额外的样式表,特别是对于一行CSS。因此,您可以使用js将浏览器信息添加到正文中,然后放入
.ie8.class、.ie9.class{display:none;}
在您现有的样式表文件中。虽然我很欣赏这种方法,但在我工作的环境中,我需要避免添加额外的样式表,特别是对于一行css。因此,您可以使用js将浏览器信息添加到正文中,然后将
.ie8.class、.ie9.class{display:none;}
在现有样式表文件中。