CSS の class名 と id名 を、全プロジェクトで意識的に統一しようかと

コーディングルール

目次一覧

 状態:結論(後で見返す用)  閲覧数:812  投稿日:2019-09-30  更新日:2019-10-03
これまで / これからは / OOCSSを参考にした独自ルールを設定

「共通」部分と「拡張」部分を分離してクラスを定義する / 見出し / 不採用にした「class名」案

機能別色


これまで / これからは / OOCSSを参考にした独自ルールを設定

 閲覧数:254 投稿日:2019-09-30 更新日:2019-10-01 

これまで


Webサイト毎に異なるデザインを構築&表示
→ もうそんな時代ではない

Webサイト単位で class名 を決定してきた
→ 時間経過すると忘れる。プロジェクト間で整合性が取れなくなる

これからは


プロジェクト単位でデザインを構築&表示
同じプロジェクトに属するWebサービスは、全て同じデザインを適用する

プロジェクトをも横断してclass名を決定していく
→ class名は、全プロジェクトでなるべく共通化させていく

OOCSSを参考にした独自ルールを設定


自分が使いやすいようにする
内容自体もそうだが、それ以上に「統一した書き方を継続使用できる」ことが大事

「共通」部分と「拡張」部分を分離してクラスを定義する
それらを組み合わせてスタイルを定義する

CSS区切り文字
・ハイフン採用
Googleがハイフンって言ってるからハイフンって、そんな安直な考えで本当に良いの? CSS 「id」「class」名 に関する調査履歴 2

CSS至上主義を改める
・1プロパティだけ異なるケースは、HTMLへ直書
・他でも利用している場合、CSSを使用
※CSS作成は、「class名を見て、どこで使用しているか思い出せるぐらいの数」に留めておくことが理想

「共通」部分と「拡張」部分を分離してクラスを定義する / 見出し / 不採用にした「class名」案

 閲覧数:257 投稿日:2019-10-01 更新日:2019-10-01 

「共通」部分と「拡張」部分を分離してクラスを定義する


「共通」部分
・width
・height
・font-size
・line-height
・border

「拡張」部分
・color
・background-color
・border-color

見出し


「サイト共通基底」部分
h1, h2, h3, h4, h5, h6 {}

「共通」部分
.h2-entry-title{}

「拡張」部分
・1プロパティだけ異なるケースは、HTMLへ直書する
<h2 class="h2-entry-title" style="border-left-color:#FFC107;">

不採用にした「class名」案


不採用にした見出し「class名」案1
.h1にしていない理由は、検索対策
※h と heading が重複しているが、「正確さ」よりも「見た目の分かりやすさ」を重視している
・不採用理由は、案2の方が短くて分かりやすいと思ったから
.h1-heading
.h2-heading
.h3-heading
.h4-heading
.h5-heading

不採用にした見出し「class名」案2
不採用理由は、案3の方が短くて分かりやすいと思ったから
.heading-1
.heading-2
.heading-3
.heading-4
.heading-5

不採用にした見出し「class名」案3
・不採用理由は、何のh1タグか不明だから
※「共通」部分は<h1>に書く前提
.h-1
.h-2
.h-3
.h-4
.h-5


OOCSS
「CSSプロパティ」書く順番

P46

 閲覧数:307 投稿日:2019-10-01 更新日:2019-10-12 


Webサービステーマカラー
Blue
#2196F3

機能別色比較一覧表
機能 系統 カラーコード マテリアルカラー 備考
告知(お知らせ) Amber #FFC107 -
コンテンツ表示 - #5FADFC × なぜこのカラーコードを選択したか理由は不明
投稿 黄緑 Lime #CDDC39 ボタン背景色として使用する場合は、一つ下の #C0CA33
編集 Blue #2196F3 -
削除 Pink #E91E63 -

作成class名


.h2-entry-title
.outer-box
.inner-box
.entrylist-outer-box
.entrylist-inner-box
.entrylist-title
.entrylist-metatag-txt
.entrylist-metatag-backcolortxt

「ボタン」と「テキストリンク」の使い分け


単なる画面遷移
・基本的に「テキストリンク」を使用する
・但しカテゴリーだけは、「カテゴリーに応じた背景色ボタン」を使用する
※(デザイン上の理由により)すべてのカテゴリーリンクがボタンとなるわけではない

ボタン
機能ごとに背景色を変更する


ボタン表示名 機能名 背景名 カラーコード 内容 表示要件 備考
編集する 編集 Blue #2196F3 - - -
公開中 → 非公開へ変更する 編集 Blue #2196F3 - - -
「画像」を変更するか、「画像コメント」を編集する 編集 Blue #2196F3 - - -
「画像」と「画像コメント」を削除する 削除 Pink #E91E63 - - -
投稿する 投稿 - #C0CA33 - - デフォルトから修正中。Limeはボタン背景色として薄すぎるため一つ下の#C0CA33を使用。一つ左隣の Light Green も試したが、これはまた別の色なので若干の違和感が残る
ファイルを選択 投稿 - - - - デフォルト
選択キャンセル 投稿 - - - - デフォルト
アップロードする 投稿 - #C0CA33 - - 「投稿する」ボタンと同じデザインを適用。文言のみ変更
チェックしたファイルを削除する 削除 Pink #E91E63 - - 「投稿する」ボタンと同じデザインを適用。色と文言を変更
xxxxで新規アカウント作成すると「記事購入」が可能になります。※無料でアカウント作成できます 告知 Blue #2196F3 - - 「上記告知色はボタン背景色としては薄いため、同系統の #FF5722 を使用」と思ったけれども、 Blue を使用する
記事を購入する 購入 Blue #2196F3 - - 重要(かつ使用頻度が低い)ボタンは、Webサービステーマカラーである Blue を使用する

htmlタグ


htmlタグ階層の定義はあいまい
正解はない

Googleへ忖度することを止める
・htmlタグの意味を考える
・将来の自分が見て、瞬時に理解できることが大事
・プロジェクト間で、統一することが大事

要点
ページ間で、階層構成を変更する


記事詳細ページでは、headerタグを使用しない
トップページ タグ配置階層 / 記事詳細ページ タグ配置階層


(私の)コーディングルール


「CSSプロパティ」書く順番

(私の)HTMLコーディングルール



類似度ページランキング
順位 ページタイトル抜粋
1 ページで使用されている「id名」「class名」をChromeで取得したい   33
2 CSS 「id」「class」名 に関する調査履歴 1 33
3 divタグがdisplay:block;とかしても、ブロック要素にならないときは、 32
4 Illustrator CS3では、[オブジェクト全体に合わせる]項目が存在しない。そのため「アートボードの大きさ」に自動で合わせることは出来ない 30
5 HTML5で、set_include_pathを用いると、先頭に謎の空白行ができる 30
6 タグの"submit"属性の見た目を、CSSで変更しようとしてハマる 30
7 Illustrator CS2 でファイル名に「更新済み」を追加しない 29
8 プルダウンメニュー(セレクトボックス)要素を右揃えしようと思ったけど、出来なかったのでメモ 28
9 Illustrator CS3でのJavaScript実行方法 28
10 プロジェクト別CSSリファクタ履歴 28
11 img srcタグで、画像の上に文字 28
12 PhotoShop CS3で、ドロップシャドウと、テキストを囲む色 27
13 Googleがハイフンって言ってるからハイフンって、そんな安直な考えで本当に良いの? CSS 「id」「class」名 に関する調査履歴 2 27
14 CSS3-mediaqueries.jsは、@ importスタイルシートに記述した内容を反映しない 27
15 positionプロパティのrelative指定は、デフォルトではない 27
16 「Google Chrome」タブをグループへ追加すると、そのタイミングでグループは自動的に開かれてしまいます。開かないようにすることはできません 27
17 サイトにプログラムコードを貼り付ける preタグのCSS 26
18 「Google Chrome」履歴一覧から、複数履歴を選択して一度に開くことはできません。バージョン: 94.0.4606.81(Official Build) (64 ビット) 26
19 bootstrap3で意図せず横スクロールバーが表示される場合は、containerクラスの入れ子を疑う 26
20 「PhotoShop CS3」 と、「Vieas」 の違い 26
2023/2/04 23:54 更新
週間人気ページランキング / 1-28 → 2-3
順位 ページタイトル抜粋 アクセス数
1 RGB ⇔ Lab | 色変換(色) 49
2 「マウスオーバー」「ロールオーバー」「ホバー」の違い | CSS 37
3 「bgcolor」「background-color」「background」の違い | CSS 36
4 RGBの種類 / ビットカラー | RGB(色) 30
5 血の色 / #b30000 / #360800 / #ff0000 | カラーコード(色) 25
6 「東京都」のカラーコード取得は難しい | カラーコード(色) 18
6 Chrome でキャッシュを効かさない | Google Chrome(ブラウザ) 18
7 「属性」「プロパティ」「アトリビュート」の違い | CSS 17
8 Windows10で「Google Chrome」が常に最前面に表示される。「アクティブウィンドウ」が最前面で表示されない → 解決方法存在しない | Google Chrome(ブラウザ) 16
8 「Font Awesome 4」と「Font Awesome 5」の違い(Font Awesome バージョン4からのアップグレード) | Font Awesome(フォント) 16
9 「:hover」「z-index」を組み合わせて使用すると、正常動作しないことがある | z-index(CSS) 15
9 「Chrome拡張機能」開発中に遭遇したエラー | Chrome 拡張機能 15
9 「:after擬似要素」は、Chromeの「要素を検証」で確認できない | 擬似(CSS) 15
10 金融機関ブランドカラー / コーポレートカラー | カラーコード(色) 14
11 Design 0 13
11 「Bootstrapデザイン」✕「グラフ」 | 2系(Bootstrap) 13
12 max-width: 100%の効果を打ち消すには、max-width: none; | CSS 12
12 GIMPで「レイヤーとして開く」を選択した画像、の位置情報(x,y)を表示させる方法が分からない | GIMP 系(ソフトウェア) 12
12 HSLとHSVの違い | 色変換(色) 12
13 ICCプロファイル | カラーマネージメント(色) 11
2023/2/4 1:01 更新