75
69

More than 5 years have passed since last update.

チーム開発でのCSS命名規則

Last updated at Posted at 2016-06-06

命名規則

SMACSSのイメージ
Base ... サイトの基本となるスタイル
Layout ... 大枠を囲うエリア
Module ... 再利用可能なパーツ
Project ... 再利用しないページ固有のパーツ
State ... 状態
Theme ... サイトのテーマ(配色)
a

基本ルール

CSSのクラスはモジュール化を意識した命名規則に従ってクラス名をつける。
単語間はハイフン区切りでつなぐ。

※例としてprofileの下層の子要素はprofile-が引き継がれる。

<div class="m-profile">
  <img src="user.png" alt="User Name" class="m-profile-icon">
  <strong class="m-profile-name">User Name</strong>
  <div class="m-profile-content">
    <p>再利用性を意識した命名規則。</p>
  </div>
</div>

Layout

レイアウトは.l-のプレフィクスをつける。
(レイアウトは大枠を囲うエリアとして考える)
例: header, main, side, footer...
またレイアウトの命名は .l-○○-area とする

<header class="l-header-area">
    <h2 class="m-header-title">ヘッダータイトル</h2>
    <p class="m-header-text">ヘッダーテキスト</p>
</header>

Module

モジュールは.m-のプレフィクスをつける。
(モジュールは再利用できる部品として考える)
例: button, tab, mordal...

<ul class="m-list">
 <li class="m-list-item">リスト</li>
</ul>

LayoutかModuleかわからなくなった場合

Layoutはページをエリアごとに分割するためにつける。 (header, main, footer)
Moduleは再利用可能なパーツを作るためつける。 (button, tab, mordal)
後は相談してくだしあ。

状態の命名

hoverなどの状態(state)を表すものはis-のプレフィクスをつける。

<button class="m-button m-profile-button is-active">
   プロフィールを編集
</button>

CSSファイルの記述の方法

下記のフォーマットに沿って書いてください。
結合するときに可読性が増えるのと、自分が何処から何処まで書いたのかが分かります。


/*==========================================================*/

/*
担当 : sadakoa
TOPのサイドリスト部分のスタイルです。
*/

.sample {
  color: red;
}

/*============================================================*/

CSSファイルの記述注意

良い例


GOOD

.m-button {
  display: inline-block;
  padding: 0.5em 1em;
  cursor: pointer;
}
.is-primary {
  background-color: #CCAA00;
}

悪い例


BAD

.m-button {
  display: inline-block;
  padding: 0.5em 1em;
  cursor: pointer;
 background-color: #CCAA00;
}

全てのボタンに背景色がついてるのでそれを打ち消す余分なスタイルを書かないといけない😂

75
69
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
75
69