Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8691

[CSS設計]わたしはクラス名でもう悩まない[BEMベース]

$
0
0

クラス名で悩み、時間を無駄にしないための記事
命名規則はBEMベースなので、Block / Element / Modifierにわけてます。

命名のルール

  • 誰が見てもわかる名前をつけること

  • 絶対に省略しない。ただしfaqのように一般的にも浸透してる言葉なら良し

  • 同じコンポーネント内で、blockElementに同じ命名をしない。.button__button.input__inputはNG

  • 意味は違うけどパッと見であまりにも似てる単語はなるべく使わない。「container」と「content」、「date」と「data」など。

  • -で「〜〜の」を表す。「search-bar」で「検索のバー」、「tags-group」で「タグたちの集まり」というように

  • 単体では意味が伝わらないため、補助的な言葉(「sub」などの「~~の」に使われる言葉)だけ使わない。

  • タグの名前をクラス名にしないで必ず意味をもたせる。(.text__br.heading__spanなどNG)

Block

画面全体からみた大きなブロック

Elementには絶対に使わない

クラス名補足
wrapperラッパーメインとヘッダーフッターを囲うとき
headerヘッダー
mainメイン全体の上下の余白はなるべくここできめる
containerコンテナSP時の左右の余白、コンテンツ全体の中央寄せのためのブロック
footerフッター
sideサイドサイドバーに
navナビページのナビに

小さなパーツが集まってできる中ブロック

Elementには使わない

クラス名補足 / 例
viewビュー主にfirst-view,second-viewとして使う
imposterインポスター子要素が中央に配置されたコンテナ。コンテナは画面いっぱい(100vh or 100vw)に広がる。
sectionセクション区分・区画
cardカード画像+タイトル+テキストのような構成でカードのような見た目。複数並ぶ
groupグループ〇〇-group のように使う。同じパーツが集まってる部分などに。tags-group
holderホルダー〇〇-holder のように使う。別々のパーツが集まった一つのくくりとして。input-holder
barバー〇〇-bar のように使う。横並びで一列のまとまり
panelパネルcardとはまた違う体裁で画像単体、テキスト単体、panel自体リンクであることが多い。複数並ぶ
listリスト〇〇-list のように使う
tableテーブル表。

小さなパーツ単位のブロック

Elementにもなりえるクラス。ただし、p-button__buttonp-input__inputにはしないこと。

クラス名補足
headingヘディング区画ごとのタイトル
buttonボタン
linkリンクボタンのような装飾のない、リンク要素
inputインプット入力ボックス
selectセレクトセレクトボックス
checkboxチェックボックスチェックボックス+テキスト
radioラジオラジオボタン+テキスト
iconラベルインプットのラベル
tagタグ
rowロウ横に並べたいとき
colコル横に並べた子要素

Element

※小さなパーツとして、Blockにもなりうる

クラス名補足
innerインナー親要素のすぐ下で囲む必要があるとき
headヘッド上部
bodyボディ主要部分
footフット下部
titleタイトル題名(見出しとして一つだけ)
headingヘディング見出し(いくつも見出しがあるとき)
textテキスト
date日付
time時間
datetime日付+時間
unitユニット単位
itemアイテムlist内のみに使用
labelラベル
tagタグ
windowウインドウ窓。input内の入力窓などに
avatarアバターユーザープロフィールの写真などの部分
imageイメージ画像
thumbnailサムネイル
numberナンバー

modifier

状態

クラス名補足
activeアクティブ
successサクセス成功
errorエラー入力ボックス
warningワーニング警告

サイズ

クラス名
x-smallスモール
smallスモール
mediumミディアム
largeラージ
x-largeラージ

形状

クラス名補足
reverseリバース反転
roundラウンド角丸
circleサークル円形、正丸
rightライト右寄せ
leftレフト左寄せ
centerセンター真ん中

〜〜のなどでつかう言葉

主にBlockElementと組み合わせて、〇〇-{Block}のように使う。

補助的な言葉

クラス名補足
firstファースト最初の
secondセカンド二番目の
nextネクスト次の
prev前の
globalグローバル全体の
subサブさぶ

ページ名や内容、パーツ

クラス名補足
aboutアバウトわたしたちについて
workワーク仕事
serviceサービスサービス・提供
newsニュースお知らせ
productプロダクト製品
historyヒストリー歴史
conceptコンセプトコンセプト
recommendおすすめ
indexインデックス目次
contactコンタクトお問い合わせ
accessアクセス行き方
shopショップ店舗
privacyグローバル全体の
faqエフエーキューQ&A
confirm確認
finishフィニッシュ完了
searchサーチ検索
resultリサルト結果

Viewing all articles
Browse latest Browse all 8691

Latest Images

Trending Articles

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>