[Sass & Compass] Sass で BEM を使う場合の syntax を確認する
Sass 3.3 から & (Ampersand) で表現できるようになっているので、その記法を確認します。
Sass 3.3 以前
Sass 3.3 RC では、こちらで紹介されているような記法だったよう。
.at-block
color: blue
@at-root
#{&}__element/* .block__element */
color: green
@at-root
#{&}--modifier/* .block__element--modifier */
color: red
もしくは mixin をつかって書く。
Sass 3.3 以降
今現在はこのようにスッキリ書くことができます。
.and-block
color: blue
&__element/* .block__element */
color: green
&--modifier/* .block__element--modifier */
color: red
CSS だけのパターンとあわせて。
.block
color: blue
.block__element/* .block__element */
color: green
.block__element--modifier/* .block__element--modifier */
color: red
.and-block
color: blue
&__element/* .block__element */
color: green
&--modifier/* .block__element--modifier */
color: red
.at-block
color: blue
@at-root
#{&}__element/* .block__element */
color: green
@at-root
#{&}--modifier/* .block__element--modifier */
color: red
/* CSS decoration
div
border: solid 1px #ccc
margin: 0 auto 1em auto
width: 50%
See the Pen Sass BEM style selector syntax by DriftwoodJP (@DriftwoodJP) on CodePen.