Quantcast
Channel: jun01tの日記
Viewing all articles
Browse latest Browse all 52

CSS設計について

$
0
0

「フロックス(FLOCSS)」と「BEM」は、CSSの設計・管理をシンプルかつ効果的に行うための手法です。それぞれの特徴をまとめます。

 


1. フロックス(FLOCSS)

 


FLOCSS(“Function, Layer, Object, Component, Scope Styles”)は、CSSのコードをカテゴリに分けて整理する設計手法です。FLOCSSでは、CSSを以下の3つのレイヤーに分類します。

 


• Foundation(基礎): リセットや基本の色設定、グリッドなど、プロジェクト全体で共通する基本スタイルを定義します。

• Layout(レイアウト): ページのレイアウトやエリア(ヘッダー、サイドバー、フッターなど)に関するスタイルを指定します。

• Component(コンポーネント): 実際のUIパーツ(ボタン、カード、モーダルなど)ごとにスタイルを定義し、再利用性のあるモジュールとして管理します。

 


この構造により、CSSコンポーネント単位で管理しやすくなり、コードの再利用性が高まります。

 


特徴

 


• 各レイヤーごとに役割が明確で、特定の用途に応じたスタイルが整理されているため、メンテナンス性が高い。

コンポーネント単位のスタイル定義で、UI変更や追加が容易に行える。

 


2. BEM(Block Element Modifier)

 


BEM(“Block Element Modifier”)は、CSSクラス命名規則の一つで、CSSの構造を分かりやすくし、スタイルの競合を減らすことを目的としています。BEMでは、CSSクラス名を次の3つの概念で管理します。

 


• Block(ブロック): 独立したコンポーネント(例:card、button)。

• Element(要素): ブロックの一部を構成する要素(例:card__title、button__icon)。

• Modifier(修飾子): 特定のバリエーションを表すスタイル(例:card--primary、button--large)。

 


BEMの命名

 


<div class="card card--primary">

  <h2 class="card__title">Title</h2>

  <p class="card__content">Content goes here</p>

</div>

 


特徴

 


• 各クラス名が機能や構造を明示するため、HTML構造が理解しやすい。

• ブロックごとに独立しているため、スタイルの競合が発生しにくく、メンテナンスが容易。

 


FLOCSSとBEMの組み合わせ

 


FLOCSSとBEMは相性が良く、組み合わせて使用することが多いです。たとえば、FLOCSSでレイヤーを定義し、BEMでコンポーネント内部のクラスを命名することで、柔軟で拡張性の高いCSS設計が可能になります。


Viewing all articles
Browse latest Browse all 52

Trending Articles