0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CSSの命名規則

Last updated at Posted at 2021-06-05

はじめに

副業先でCSSの見直しを行うことになりました。
主に自分の確認用ですが、チーム開発の時の基準になるかもと思い、CSSの命名規則について整理しました。

副業先がBEMを使用しているので、命名規則もBEMを意識したものになっています。
また、入れ替わりの激しい職場ということもあり、共通認識を持ち難い環境のため、ルールをシンプルにすることを優先しております。(結果、class名が冗長になる場合があります)

命名規則

  • シングルクラスで記述する
  • 複数の単語の組み合わせはケバブケース
  • 単語は省略しない
  • 予測しやすい名称(見た目や場所ではなく意味で)
  • 最初からコンポーネントを意識しない

シングルクラスで記述する

1つの要素に対して、1つのclassを指定する(多くても2つまで)。

<!-- OK -->
<div class="hoge1"></div>

<!-- NG -->
<div class="hoge1 hoge2 hoge3"></div>

複数の単語を組み合わせる時はケバブケース

単語を組み合わせるときは-(ハイフン)使う。

<!-- OK -->
<div class="hoge-title"></div>

<!-- NG -->
<div class="hoge_title"></div>
<div class="hogeTitle"></div>
<div class="HogeTitle"></div>

単語は省略しない

class名に使用する英単語は、長くても省略せずに記載する。
(省略する内容に個人差が生まれやすいため)

<!-- OK -->
<div class="title"></div>

<!-- NG -->
<div class="ttl"></div>

予測しやすい名称(見た目や場所ではなく意味で)

HTMLの構造や色が変わったときに破綻しないように、できる限り意味でつけるようにします。
意味でつけるようにすることで、なんのstyleかも予測しやすくなると思います。

<!-- OK -->
<div class="text-attention"></div>

<!-- NG -->
<div class="text-red"></div>

具体的な命名については、A/HC/LC pattern を参考にしています。
Action (A)に相当するものがない場合は、UIや要素の名前を代用しています。

以上です。
最後までお読みいただき、ありがとうございました。

私もまだまだ勉強中で「これだ!」と確信できる部分は少ないものの、ある程度ルールを決めておくことで、見通しの良いデータに近づくのではないかなと思っています。


お世話になったサイト

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?