Css SASS为BEM语法抛出错误
我只是想在SASS中使用“modifier”和“element”BEM语法Css SASS为BEM语法抛出错误,css,sass,bem,Css,Sass,Bem,我只是想在SASS中使用“modifier”和“element”BEM语法 .second-title{ background-color:green; &--touched{ background-color:black; } &__left{ background-color:red; } } CSS文件编译正确,但当我尝试运行“grunt serve”compass时,会抛出以下错误: Syntax error: Invalid C
.second-title{
background-color:green;
&--touched{
background-color:black;
}
&__left{
background-color:red;
}
}
CSS文件编译正确,但当我尝试运行“grunt serve”compass时,会抛出以下错误:
Syntax error: Invalid CSS after \" &-\": expected number or function, was \"-touched{\"\A on line 71 of D:/webdev/angularjs/ang-snapscan/app/styles/mobilestyle.scss";
为了以这种方式使用父选择器,您需要使用Sass 3.3: 如果您无法使用旧版本,可以尝试以下方法:
$module: 'second-title';
.second-title {
background-color:green;
}
.#{$module}--touched{
background-color:black;
}
.#{$module}__left{
background-color:red;
}
您使用的是什么sass版本?BEM语法在最新版本3.3I中已修复,我刚刚运行了“gem update sass”和“gem update compass”,它应该是最新版本。您也在使用compass吗?Compass stable(0.12)将迫使您使用Sass 3.2。是的,我使用的是Compass 0.12.6,是否有支持Sass 3.3.5的Compass版本?您需要升级到edge版本(gem install Compass--pre)。这很混乱,我只想让BEM更简单,我不想让它过于复杂:/@Kitze确实,尝试键入'sass-v'以查看您的sass版本,如果您有最新版本,它应该可以工作。我有版本3.3.5。。。Sass编译的不错,css文件也不错,我认为compass或grunt服务器有问题。