FLOCSSの基本ルールを自分なりにまとめていくよ

私の受講するRaiseTechでは、CSSの記法としてFLOCSSを使うそうな。

CSS設計の基本とFLOCSSを作った方による書籍(柴犬でもわかるFLOCSS)を読んだので

まずは書き方のルールを己に落とし込むため書き方をまとめていきます

FLOCSSのレイヤー

まず、FLOCSSでは3つのレイヤーが存在していて、

これに適したレイヤーを選択し、クラス名をつけてあげなければなりません

Objectはさらに3つに分かれます

Utilityの使い道がなんとも不明瞭ですが、基本はComponentかProjectかのどちらかを使用する模様。

Projectクラスで書いてみて、この装飾何回も書いてんな…汎用性高くね?と思ったら

Componentクラスを設置してそちらに記述するようなイメージです

FLOCSSの記述ルール

以上がFLOCSSのレイヤーでした

クラスセレクタで何度も呼び出す形になると思うのですが、記述にはルールがあります。

私が見た限りでは3つです

まず、レイヤーは必ず上で紹介した順に書く必要があります

Fondation>Layout>Component>Project>Utilityですね。

次に厄介なのが、1つのタグの中に同一階層のレイヤーのクラスを複数与えてはいけないらしいです。

▼ダメな例(Componentレイヤーのクラスが一つのタグの中に共存している)

<div class="c-aaaa c-cccc">~~~</div>

▼よい例(複数クラスだがレイヤーがComponentとProjectで異なるため許される)

<div class="c-aaaa p-bbbb">~~~~</div>

最後に、CSSを書く際に同じ階層のセレクタを入れ子にして呼び出してはいけないそうです。

▼ダメな例(同一レイヤーで絞り込んでいる)

.c-aaaa .c-cccc{~}

▼よい例(入れ子になっているがレイヤーが異なるため許される)

.c-aaaa p-bbbb{~}

FLOCSSの命名規則はBEMに準拠

FLOCSSのクラス名の頭にlやらcやらuやらをつけるというのは先にもお伝えしておりますが

さらに細かい命名規則はBEMという別の記法に則ってねとおっしゃられています

なので、BEMの規則が分からんとFLOCSSでクラス名をいい感じに付けられんのです

しかしながらここでBEMについて1から100まで伝えるのは本筋から外れてしまうので

FLOCSSを書くにあたり踏襲すべきBEMのルールを搔い摘んで

この2つが大きそうです

BEMにはBlock・Element・Modifireの3つの要素があり、

ElementはBlockを構成する要素

ModifireはBlock・Elementのビジュアルを書くためのクラスです

Blockはほかの場所でも使いまわせる1まとまりのパーツを指すそうです

構成単位とFLOCSSの構成単位は微妙に違っている中で、どんなふうに命名規則に絡んでくるのかがちょっとよくわからんのですよね!

この辺のイメージが湧いてないので、実際のコードを見ながら言語化できるようにしていきたいです

以上

投稿記事一覧に戻る

コメント

コメントはありません

コメントする

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。



CAPTCHA