@ Dejan.S我不是BEM的大風扇(但這是另一個咆哮;-)。然而,如果你正在使用BEM我覺得嵌套將有助於說明層次和期待什麼
SCSS:
.selector {
// selector styles
color: red;
// default selector block style
&__block { color: green; }
// selector variant selector block styles
&.foo &__block { color: blue; }
&.bar &__block { color: yellow; }
}
CSS輸出:
.selector { color: red; }
.selector__block { color: green; }
.selector.foo .selector__block { color: blue; }
.selector.bar .selector__block { color: yellow; }
HTML:
<div class="selector">
Selector <!-- red -->
</div>
<div class="selector">
Selector <!-- red -->
<div class="selector__block">
Selector Block <!-- green -->
</div>
</div>
<div class="selector foo">
Selector <!-- red -->
<div class="selector__block">
Selector Foo Block <!-- blue -->
</div>
</div>
<div class="selector bar">
Selector <!-- red -->
<div class="selector__block">
Selector Bar Block <!-- yellow -->
</div>
</div>
由於某種原因,這個投票得票?我同意Tibo(解決方案2) - 不要過分複雜的東西 –
嵌套BEM通常是過於複雜的事情。如果你需要聲明'&.another-selector&__ block',那麼解決方案二是一個很好的解決方案,如果你有一個真正的項目被維護而不是一個hello世界,那麼不是那麼簡單嗎? –
這是一個維護任務。不能重新編寫代碼。 只是想組織它。 無論如何,這個解決方案是好的,經過一番思考,我同意在這裏嵌套太多是不好的。 謝謝 –