2014-04-22 88 views
0

我只是想在SASS中使用「修飾符」和「元素」BEM語法。SASS爲BEM語法拋出錯誤

.second-title{ 
    background-color:green; 

    &--touched{ 
    background-color:black; 
    } 

    &__left{ 
    background-color:red; 
    } 
} 

的CSS文件編譯正確,但是,當我嘗試運行「咕嚕服務」指南針引發以下錯誤:

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"; 
+1

你使用的是什麼sass版本? BEM語法在最新版本3.3中解決了 –

+0

我剛剛運行了「gem update sass」和「gem update compass」,它應該是最新版本。 – Kitze

+0

您是否也在使用Compass? Compass stable(0.12)會迫使你使用Sass 3.2。 – cimmanon

回答

3

爲了使用父選擇這種方式,你需要使用薩斯3.3:

http://thesassway.com/news/sass-3-3-released#parent-selector-suffixes

如果您使用的是舊版本的卡,你可以試試這個:

$module: 'second-title'; 

.second-title { 
    background-color:green; 
} 

.#{$module}--touched{ 
    background-color:black; 
} 

.#{$module}__left{ 
background-color:red; 
} 
+0

這很混亂,我只是想讓BEM更簡單,我不想過於複雜:/ – Kitze

+0

@Kitze確實,嘗試鍵入'sass -v'來查看您的sass版本,它應該工作http:/ /sassmeister.com/gist/11178675如果你有最新版本 –

+0

我有版本3.3.5 ...薩斯編譯它沒關係,CSS文件是好的,我認爲有指南針或咕嚕服務器有問題。 – Kitze