FlexBox の勉強をかねて LP を作る
FLOCSS は、下記のように 3 つのレイヤー、及び3つの子レイヤーによって構成される。
・Foundation
・Layout
・Object
・Component
・Project
・Utility
各レイヤーの役割は以下の通り。
Reset.css や Normalize.css などの リセット系 CSS 及び、要素セレクタの基本スタイル を定義。
ヘッダー、フッター、サイドバー、メインエリアのように、サイトで共通したコンテナー を定義。
Web サイトの中で用いられるすべての ビジュアルパターン を総称して定義します。Object は、さらに3つのレイヤーに分けられる。
ページを最低限の 機能単位で分割したモジュールのスタイルを定義。
プロジェクト固有のパターン を定義する。Component とそれに該当しないものによって構成されるものがこれにあたる。
Component と Project レイヤーの Object のモディファイアで解決することが難しい・適切では無い、わずかなスタイルの調整のための便利クラス などを定義。
モジュールを Block、Element、Modifier にわけて考え、それぞれを.Block__Element--Modifier のようにつなげて記述。
FLOCSS では、クラスがどのレイヤー属しているかによってそれぞれ接頭辞をつける。
これにより、クラスがどのような役割を持っているのかわかるため、「予測しやすく」 なる。
また、予測しやすいことは開発者にとっても意図がわかりやすいため 「拡張しやすい」。
レイヤーとそれに対応する接頭辞は下記の通り。
Component : .c-
Project : .p-
Utility : .u-
さらに、状態を表すクラスの接頭辞として.is-を使う。
起動コマンドは npm start
# ここにアクセスで確認できる
locahost:3000