rcが取れてsass 3.3.0になったので、&の扱いについて調べ中...
http://sassmeister.com/gist/9461261
$selector: &;
が使えないので頑張る#{&}
が使えないので&
に書き換える
/* sample.scss */
.block {
background-color: black;
#{&}__element {
background-color: red;
}
}
/* sample.css */
.block {
background-color: black; }
.block .block__element {
background-color: red; }
.block {
background-color: black;
#{&}__element {
background-color: red;
}
}
で、コンパイルする
Syntax error: Invalid CSS after " #{": expected expression (e.g. 1px, bold), was "&}__element {"
on line 6 of sample.scss
Use --trace for backtrace.
エラー。rc中に #{&}__element
から &__emelent
になったようだ...(たぶんrc.3から)
なので、以下のように書く。
/* sample.scss */
.block {
background-color: black;
&__element {
background-color: red;
}
}
コンパイルする。
/* sample.css */
.block {
background-color: black; }
.block__element {
background-color: red; }
あれーっ!?入れ子じゃないよ...?
とりあえず、at-rootを使ってみる。
/* sample.scss */
.block {
background-color: black;
&__element {
background-color: red;
}
@at-root &__element2 {
background-color: red;
}
}
コンパイル。
/* sample.css */
.block {
background-color: black; }
.block__element {
background-color: red; }
.block__element2 {
background-color: red; }
おやぁ…?入れ子になってないぞ…
//sample.scss
.block {
background-color: black;
& &__elem {
background-color: tomato;
}
}
コンパイル
.block {
background-color: black; }
.block .block__elem {
background-color: tomato; }
やった!!できた!!!(白目