HTMLにつけるclass名(クラス名)の命名規則の考え方を徹底解説!

  • URLをコピーしました!

class名(クラス名)の付け方って悩むよね〜〜!

分かりやすく教えるよ!では見てみよう♪

目次

class命名のポイント

class名を付けるときにまず注意したいのが、class名を見ただけでどの部分の何に対して指定しているのかが、
ある程度検討がつくということです

特にコーディングを学び始めて間もない方は番号をふるだけだったり、
適当に脈絡もない名前を付けてしまったりして、
修正が必要になったときに見返すと「訳の分からない状態」になってしまう人もいたりします

class名を見れば「だいたいこの辺かな?」とアタリが付けられるようになることが一番です!!!

ある程度の規則性

コードの品質が高いレベルで必要な場合は「厳格な規則性」が求められます
学習中の場合は「ある程度」でOKです
たとえばボタンに対して”btn”と指定していたり”button”と指定していたりしなければ良いでしょう

 class命名規則のポイント

主なポイント

class名を見たらどこの何かがわかる

まずclass名を付けるときに注意したいのが、class名を見ただけでどの部分の何に対して指定しているのかある程度検討がつくということです。

特にコーディングを学び始めて間もない方はナンバリングをするだけだったり、何の脈絡もない名前を付けてしまったりして、修正が必要になったときに見返すと「何が何だかわからない状態」になってしまう人もいたりします。

そんな悲劇はもうたくさんです。class名を見れば「だいたいこの辺かな?」とアタリが付けられるようにしましょう。その術を以降で伝えていきます。

ある程度の規則性がある

コードの品質が高いレベルで必要な場合は「厳格な規則性」が求められますが、学習中の場合は「ある程度」でOKです。たとえばボタンに対して”btn”と指定していたり”button”と指定していたりしなければ良いでしょう。

その他の注意点

英語で付ける

class名は半角英数字で英語で付けるようにしましょう。日本語をローマ字に置き換えるのはNGです。

◯ btn、button
× botan

数字から始まるのはダメ

class名は数字から始まってはいけません。必ずアルファベットで始めるようにしましょう。

◯ btn01
× 01btn

複数の単語を組み合わせる場合はハイフンかアンダースコア

複数の単語を組み合わせるときはハイフンまたはアンダースコアでつなぎます
他の単語でつないだり、半角スペースを空けるのはNGです
特に半角スペースを空けた場合、2つの別々のclassとして認識されます。

◯ section-btn、section_btn
× section btn、section.btn

classの命名規則はこれでOK!

ざっくり場所で名前を付ける

ざっくり場所で名前を分けます
例えばheaderにはclass=”header”と付けて、
headerの中にある要素にはclass=”header-◯◯”といった感じにclassを付与していくと良いです

パーツ名で名前を付ける

パーツ名もclass名の手がかりになります
例えば、ボタンは”◯◯-btn”、写真は”◯◯-img”、本文は”◯◯-text”、リンクボタンなら”link-btn”といった感じにclassを付与していくと良いです

classの命名でよく使用する英単語・表記

形容詞

名詞の性質や状態を修飾する品詞。「〜の」「〜な」。

  • main – 主要な
  • sub – 副次的な
  • primary – 1番の・最優先の
  • secondary – 2番目の・副次的な
  • tertiary – 第三の
  • quaternary – 第四の
  • common – 共通の
  • global – 全体的の
  • local – 局所的な
  • general – 一般的な
  • brand – ブランドの
  • site – サイトの
  • first – 最初の
  • second – 二番目の
  • bg – 背景

分類

サイトのページやカテゴリとして使える名詞。

  • about – 〜について
  • work – 仕事・任務
  • product – 製品
  • service – サービス
  • news – お知らせ・近況
  • event – 行事・出来事
  • history – 歴史・沿革
  • archive – 保存・保管・記録
  • concept – 構想・概念・考え
  • recommend – おすすめ・推奨
  • table of contents – 目次
    • toc – Table of contentsの略語
  • index – 索引・指標
  • contact – 問い合わせ・連絡
  • inquiry – 問い合わせ・質問・調査
  • access – 交通手段
  • shop – 店舗
  • related – 関連のある
  • privacy – 個人情報の利用・保護の方針
  • faq – qandaの類語、Frequently asked questions(よくある質問)の略
    • qanda – Question and answer(質問と回答)の略
  • input – フォームの入力画面
  • confirm– フォームの確認画面
  • finish – フォームの完了画面
  • search-result – 検索結果画面
  • cart – 購入するアイテムを一時的に保存する画面
  • checkout – 保存していたアイテムを購入する画面

Block

  • section – 区分・区画
  • site – サイト
  • container – 全体を囲むもの
  • content – 文書の内容
  • article – 記事
  • post – 投稿
  • top – 頂上・上部
  • home– トップページ
  • sidebar – 補足記事
  • wrapper – 内包する
    • wrap – wrapperの略語
    • container – wrapperの類語
      容器・入れ物
      wrapperはレイアウト的に、containerは意味的に使うことが多い
  • group – 集まり
  • area – 特定の場所・範囲
  • emphasis – 強調・重視
  • catch – 興味を惹く・関心をつかむ
  • note – 注釈
  • description – 概要
    • desc – descriptionの略語
  • introduction – 前置き・導入
    • intro – introductionの略語
  • announce – お知らせ
  • information – 情報
    • info – informationの略語
  • action – Call To Action。重要度の高い
  • more – もっと多くの
  • feature – 主要なもの
  • detail – 詳細・細部
  • summary – 概要・要約

Element

  • inner – 内側
  • outer – 外側
  • body – 主要部分
  • head – 上部
  • foot – 下部
  • heading – 見出し・表題
  • title – 表題・題名
  • lead – 見出しの補足・記事の要約
  • list – 一覧・表
  • menu – 一覧・表
  • item – (表やデータなどの)項目
  • unit – 1つの単位・1セット
  • column – 縦列
    • col – columnの略語
  • text – 本文
  • caption – 画像・図表の補足文
  • thumbnail – 縮小した画像
    • thumb – thumbnailの略語
  • avatar – 人の顔を示す画像
  • feature – 特徴を補足する画像
  • tel – 電話番号
  • address – 住所
  • date – 日付
  • time – 日時
  • category – 分類・部類
    • cat – categoryの略語
  • tag – 識別子
  • next – 次の
  • previous – 前の
    • prev – previousの略語
  • mask – 覆い隠す
  • overlay – かぶせる・上書きする
  • delimiter – アイテムの範囲や境界線を示すインターフェイス
    • separator – delimiterの類語で混ぜないように分離する目的で使います
    • divider – delimiterの類語でグルーピングするように分割する目的で使います


Modifier

  • success – 成功
  • alert – 注意・警戒
  • attention – 配慮・気配り
  • error – 間違い・失敗
  • caution – 用心・警告
  • warning – 警告・予告
  • danger – 危険・驚異
  • tiny – とても小さい
    • xs – tinyの類語でExtra small(smallよりさらに小さい)こと
  • small – 小さい
  • medium – 中間
  • large – 大きい
  • huge – とても大きい
    • xl – hugeの類語でExtra large(特大・超大型)のこと
  • reverse – 反転する
  • push – 前方に押す
  • pull – 自分の方に引く
  • offset – 相殺する・埋めあわせる
  • left– 左側の
  • center – 真ん中
  • right – 右側の
  • top – 上部
  • middle – 真ん中
  • bottom – 下部
  • round – 角丸
  • circle – 円形

State

状態を示す動詞や形容詞など。

  • show – 見せる
  • hide – 隠す
  • open – 開く
  • close – 閉じる
  • current – 現在の
  • active – 活動中・有効な
  • disabled – 無効になっている

Text

  • link – アンカーテキスト
  • label – 分類する・項目名
  • tag – 符号・識別子
  • badge – 残数を示す数値
  • copyright – 著作権表示
  • tooltip – マウスオーバー時に補足情報を表示するインターフェイス
  • button – オン・オフの選択に使うインターフェイス
    • btn – buttonの略語。

Image

  • image – 画像
    • img – imageの略語
  • icon – 対象の内容や機能などを小さな絵柄で表したもの
  • loading – 読み込み中であることを示すインターフェイス
  • logo – 社名や製品名などを図案化・装飾化した文字・文字列
  • map – 地図
  • chart – 理解しやすいような方法で情報を示すリストやグラフのこと
    • graph – chartの類語で視覚表現のための手段のこと
  • hero – キービジュアルになる大型の画像
  • banner – (主に宣伝用の)画像をともなうリンク
  • carousel – 画像などのコンテンツを上下左右にスライドさせて切り替えるインターフェイス
    • slider – carouselの類語 クリック(タップ)などの操作により、複数のコンテンツを横にスライドさせることで、メインの表示を切り替えられる仕組みのこと
    • ticker – carouselの類語 特定範囲内に文字列を流して表示させる表示方式のこと
    • lightbox – carouselの類語で、モーダルのjQueryプラグインのこと
      主な用途はサムネイル画像をクリックしてモーダルを開き画像を大きく見せること

Navigation

  • navigation – 情報へ誘導するリンク
    • nav – navigationの略語
  • mega-menu – 深い階層のカテゴリやページへのナビゲーション
    ドロップダウン(クリックやマウスオーバー)で階層を表示していく
    カテゴリやページ数の多いサイトのグローバルナビゲーションに使われることが多い
  • breadcrumb – パンくずリスト
    トップページから現在ページまでの階層構造を示したリンク
    • topicpath – breadcrumbの類語
  • springboard – 同じサイズのリンクを2×2や3×3のように配置した同じ重要度を持つ並列なナビゲーション
  • list-menu – 縦に並んだリスト型のリンクで、階層構造をもったナビゲーション
  • dashboard – グラフやステータスなどを一つの画面にまとめたインターフェイス
  • pagination – 昇順にしたページ番号付きのナビゲーション
  • linear-navigation – その画面の前後に移動するためのナビゲーション
    paginationとの違いはページ指定ができないこと
  • back-to-top – ページトップに戻るためのページ内リンク
  • tab – 書類などのインデックスタブを模した、画面内のコンテンツ表示を切り替えるインターフェイス
    • tabbar – おもに画面下部に固定されたタブで、画面全体を切り替えるインターフェイス
    • segmented-control – 機能的にはtabと同じで、見た目がタブではなくボタンである点が違う
  • off-canvas – 表示領域外から画面の大半を覆い隠したり(オーバーレイ)、ずらすようにスライドしながら表示するナビゲーション
    • side-drawer – off-canvasの類語
      drawerは「引き出し」の意味
  • toggle-menu – 同一の操作で二つの状態を交互に切り換えるインターフェイスで、操作対象になるボタンを基準にナビゲーションを表示することが多い
  • sitemap – サイト内のすべてのページへのリンクをリスト化したもの
  • sns – ソーシャルネットワーキングサービス

Form

  • form – 送信フォーム
  • login – ユーザー認証をするためのフォーム
    • signin – loginの類語
    • logout – signout – ユーザー認証を解除すること
  • registration – ユーザー登録をするためのフォーム
    • signup – registrationの類語
  • step-navigation – 複数画面にわたるフォームの順序や、現在地を示したナビゲーション
  • search-box – キーワード検索するためのフォームエリア
  • text-field – input[type="text"]のような利用者が編集する改行なしのテキストフィールド
  • textarea – textareaのような利用者が編集する複数行のテキストフィールド
  • checkbox – input[type="checkbox"]のような1つ以上の項目を選択するインターフェイス
  • radio – input[type="radio"]のような1つの項目を選択するインターフェイス
  • select – selectのような1つの項目を選択するインターフェイス
    ラジオボタンと違い、(dropdownのように)項目が最初は隠れているのが特徴
  • submit – 送信ボタン
  • reset – リセット(取り消し)ボタン
  • modify – 修正ボタン

Other

  • cards – トランプのような積み重なったカードのメタファーをもつインターフェイス
  • dropdown – 複数の項目を表示して、1つの項目を選択するインターフェイス
    • pulldown – dropdownの類語
  • accordion – 折りたたまれたコンテンツを選択することで表示させるインターフェイス
  • scroll-tab – 表示領域よりも横に長いナビゲーションで、左右にスクロールすることで非表示部分を見ることができるインターフェイス
  • dialog – (主に)注意や警告を知らせるために使用されるメッセージで、ユーザーに操作を要求するのが特徴
    • toast – dialogの類語で、dialogとの違いは時間が経つと自動的に消えること
    • popup-window – dialogの類語で、リンク先を別の小さなウィンドウで表示するインターフェイスする
  • toolbar – ユーザーが利用できるツールやアクションをまとめたインターフェイス
  • comment – 記事に対する反応
  • table – テーブル・図表
  • timeline – チャットや年表のように時系列に並べたリスト

より高度な学習をしたい人へ

classの命名規則は突き詰めると「CSS設計」に行き着きます

  1. 予測しやすい
  2. 再利用しやすい
  3. 保守しやすい
  4. 拡張しやすい

代表的なCSS設計手法

  • BEM
  • OOCSS
  • SMACSS
  • FLOCSS

まとめ

CSS設計についてはまたの機会にいたします
今回はclassの命名規則についてお話しいたしました
参考にしていただけたら嬉しいです

関連記事

OneClickCSS


classの命名規則はわかりやすいのが一番だね♪

これからも色々教えるよ!

よかったら仲良くしてくださいね!
  • URLをコピーしました!
目次