' # 'は、CSS言語の基本的な部分であるIDセレクターです。これは、指定されたIDを持つHTML要素と一致します。私はそれを知っていますが、.cssファイルを使用する.classname {...}
場合と使用する場合の主な違いは何ですか。#idselector
.hello { color:000000;}
また
#hello { color:000000;}
1つ目はCSSクラスhelloの要素と一致し、2つ目はhelloのid値を持つ要素と一致します。例えば:
<div class="hello"></div>
<div id="hello"></div>
優先順位。IDは、クラスセレクターよりも優先順位が高くなります。次のCSSがある場合:
.hello { color:#000000;}
#hello { color:#ff0000;}
同じ要素のIDが「hello」でクラスが「hello」であるとすると、IDの優先順位はクラスセレクターよりも高いため、その要素のフォントの色は赤になります。
また、ページにはIDが「hello」の要素を1つだけ含めることができます。ただし、「hello」のクラスを持つ要素の数に制限はありません。
ID(#hello
)は、一意の単一要素にのみ使用する必要があります(例:ログインボタン)。
クラス(.hello
)は、繰り返すことができる要素(ナビゲーションメニューボタンなど)に使用する必要があります。
IDは一意であり、特定の要素が持つIDは1つだけであり、同じIDが1つだけページに存在する可能性があります。したがって、以下は無効です。
<div id="first_id second_id"></div>
<div id="third_id"></div>
<div id="third_id"></div>
ただし、クラス名は正反対です。1つの要素に複数のクラス名が含まれる場合があり、同じクラス名がドキュメントに複数回表示される場合があります。
IDの目的は、Webページの一意の部分(つまり、ヘッダー、メインコンテンツのdiv、フッター)、またはコンテンツの一意の部分(message-number-149632)を示すことです。
クラス名の目的は、複数の同じ意味のオブジェクトを記述することです。(つまり、ダイアログ、投稿、メニュー項目)。
CSSでは、anの特異度の値#id
が高くなります。つまり、次のようになります。
<div id="id" class="class">Test</div>
#id { background: red; }
.class { background: green; }
IDはクラスよりも具体的であるため、divが赤になります。