前に言ったようにid
、一意の識別子であるタグを使用しています。class
複数の要素にスタイルを適用するには、 a を使用する必要があります。
W3C の定義を参照してくださいid
: ( http://www.w3.org/TR/html401/struct/global.html#h-7.5.2 )
要素識別子: id および class 属性
属性の定義
id = name [CS] この属性は、要素に名前を割り当てます。この名前はドキュメント内で一意である必要があります。
class = cdata-list [CS] この属性は、クラス名またはクラス名のセットを要素に割り当てます。任意の数の要素に同じクラス名を割り当てることができます。複数のクラス名は空白文字で区切る必要があります。
さらに興味深いのは、あなたの例が機能し、ほとんどのブラウザーで機能すると述べたことです。一部のブラウザは開発者の欠点を見つけて、標準に準拠していないかのように非標準準拠のコードをレンダリングするだけです。
これは決してうまくいかない例です。ご存知かもしれませんがid
、タグは名前付きアンカーに使用できます。例えば
<a href="#content">Jump to content</a>
<div id="content">
some content
</div>
<div id="content">
some other content
</div>
この例では、名前付きアンカーはどの要素にリンクする必要がありますか? ほとんどの場合、最初の要素に行くと思います。ただし、これは開発者が望んでいたものではない可能性があります。
id
要素には、要素にスタイルを適用するだけでなく、さらに多くの用途があります。W3C は次のように述べています。
id 属性には、HTML でいくつかの役割があります。
- スタイルシートセレクターとして。
- ハイパーテキスト リンクのターゲット アンカーとして。
- スクリプトから特定の要素を参照する手段として。
- 宣言された OBJECT 要素の名前として。
- ユーザー エージェントによる一般的な目的の処理 (たとえば、HTML ページからデータベースにデータを抽出する際のフィールドの識別、HTML ドキュメントの他の形式への変換など)。
- 一方、class 属性は、1 つ以上のクラス名を要素に割り当てます。要素はこれらのクラスに属していると言えます。クラス名は、複数の要素インスタンスで共有される場合があります。
class 属性には、HTML でいくつかの役割があります。
- スタイル シート セレクターとして (作成者が一連の要素にスタイル情報を割り当てたい場合)。
- ユーザーエージェントによる汎用処理用。
標準に準拠したコードを作成して、標準に準拠したブラウザーで機能することを確認する必要があります。結果は、より広い範囲のブラウザーではるかに予測可能で安定しており、将来のバージョンで動作する可能性が高くなります.
編集:OPのコメントに応じて:
CSS:
.content {
width: 950px;
margin: auto; // Assuming you want to centre this
}
クラスを適用するものは何でも.content
、幅は 950px になります。#top
要素はブロック レベルの div であり、自然に 100% 幅に拡張されるため、要素に 100% 幅を設定する必要はありません。
HTML:
<div id="top">
<div id="navigation" class="content">
</div>
</div>
<div id="main" class="content">
</div>
<div id="footer" class="content">
</div>