web-dev-qa-db-ja.com

本文タグのクラスまたはID

最近、HTMLドキュメントのbodyタグにIDを適用しています CSSの制御を強化するため(#9) 。最近、bodyタグにクラスを適用することでまったく同じことができるということが起こりました。それぞれの選択肢の良い点と悪い点を知りたい。 bodyタグが同じIDを持つ複数のページがある場合、クラスを使用する方が良いですか?どう思いますか?どうして?

更新:基本的にクラス/ IDは、スタイルシートが適用されているページまたはページのタイプをスタイルシートに特定するために使用するものです。たとえば、ホームページ、連絡先ページ、多数の検索結果ページの1つ、アーカイブページなどですか。

21
Jo Sprague

クラスを使用することは完全に受け入れられますが、IDを使用するよりも可能です。 IDは他のIDと競合し、document.getElementByIdのようなものを壊す可能性があるため、IDの使用はできるだけ制限する必要があります。

Idセレクターは、クラスセレクターよりも具体的であり、通常はユースケースに適しています。 -デビッド・ドーワード

ただし、高い「特異度」が常に望ましいとは限りません。マスタースタイルシートのbody#faq #col_b a {color:gray;}を検討し、誰かが灰色の背景でプラグインを開発してfaqページに進むと、!importantを使用するか、別のid属性を作成して特定性を高める必要があります。

また、単一のbody要素で複数のクラスを使用することを検討してください。

<body class="faq two_column big_footer"> ...
21
Dagg Nabbit

Idセレクターは、クラスセレクターよりも 特定 の方が多く、通常はユースケースに適しています。

4
Quentin

IDはページごとに一意である必要があります(有効なマークアップが必要な場合)。つまり、ページには特定のIDのインスタンスが1つだけ存在する必要があります。

一方、クラスはページごとに多数の要素に適用できます。同じスタイルを再利用するものにはクラスを使用し、独自のスタイルを必要とするよりユニークな要素にはIDを使用します。

理想的には、可能な限りクラスを使用し、IDの使用を制限します。

IDの詳細については here を、クラスの詳細については here を参照してください。

2
Tyler Treat

ページでスタイルを再利用する場合は、クラスを使用することをお勧めします。 IDは、スタイルシートが特定のページ用に設計されている場合に適しています。しかし、それでもあなたのアプリに依存します。

1
shaans

HTML5では、id属性は任意のHTML要素で使用できます(任意のHTML要素で検証されますが、必ずしも有用ではありません)。

HTML 4.01では、id属性は次の場合には使用できません:<base>, <head>, <html>, <meta>, <param>, <script>, <style>, and <title>.

注:HTML 4.01には、ID値のコンテンツに対するより大きな制限があります(たとえば、HTML 4.01では、ID値を数字で始めることはできません)。

ソース: W3School

0
Mahdi Jazini

BodyタグのIDのみを使用できます(読み取り:すべきです)。

ID =ページごとの使い捨て

クラス=複数回の使用

1つの本体タグ= 1つのidタグ。これは別のページでも同じです。基本的に、classタグを使用することは、おそらくこの目的のためにはやり過ぎです。

0
Nelga