2017-04-01 13 views
0

私はSass変数にBEM方法を実装しようとしています。BEM方法論を使用してSass変数を宣言する

// Variables 
    // Colors 
    $color--blue--light: #3696D1; 
    $color--grey: #2D4452; 
    ... 
    // Fonts 
    $body__font--sans-serif--roboto: 'Roboto', sans-serif; 
    ... 

/* Global */ 

body { 
    font-family: $body__font--sans-serif--roboto; 
    background-color: $color--blue--light; 
    color: $color--grey; 
}... 

これはBEM方法論の良いアプローチですか?

色変数を宣言するときに、ブロック(body、header ...)ごとに異なる変数を使用しても、ブロックを追加する必要がありますか?

答えて

1

コードを整理して標準化するのが良いアプローチであれば、代わりに不要と感じた場合は別の規約を使用できます。例えば

私はマークアップでBEMを使用します。

私は冗長と厳格さ有益感じていないと私は単に

$red: #cc0000; 
$roboto: 'Roboto', sans-serif; 

を使用していますが、にも依存することができ命名変数で

<div class="myBtnClass myBtnClass--blue"> 
    <div class="myBtnClass__inner"> 
     etc etc etc 

あなたが取り組んでいるプロジェクトの複雑さ。

+0

ありがとうございます。 Btw私はちょうど嫌な宣言とこの大会で狂っている別の人を見つけた[http://www.juliecameron.com/blog/2013/11/06/bem-naming-for-sass-color-variables-what1/](http ://www.juliecameron.com/blog/2013/11/06/bem-naming-for-sass-color-variables-what1/) –

+0

@cesareこのように変数に名前を付けるのは悪い考えです。フォントファミリがArialに変更されたらどうなりますか?しかし変数はまだ '$ roboto'という名前を持っています。つまり、 '$ red' - >' $ color'、 '$ roboto' - >' $ font-family'です。名前は可能な限り抽象的でなければなりません。 – 3rdthemagical

+0

確かにフォントや色を変更するプロジェクトがあれば、より抽象的な変数、 '$ borderColor:$ red'、' $ copyFont:$ arial'などを作成します。 – cesare

関連する問題