Category : XHTML/CSS
id="header"で問題ないのでは
2007-03-21
XHTML/CSS
id, XHTML

id,classのふり方についてはいろいろ悩んだりします。今,ちょっと話題になっているので追いかけてみました。
まず,idとclassの違いのひとつとして,idは一意的に使われる(同じid名を2回以上使うことが出来ない)のに対して,classは繰り返し使える(同じclass名が何回出てきてもよい)ということがあります。ぼくも一度きりなのがid,繰り返すものはclassというふうに大雑把に使い分けていました。
でも,これでほんとうによいのでしょうか。
idは一意の識別子,classは分類名
に書かれているとおり,idは一意の識別子(つまり他にはないある特定のものへの命名)であり,classは分類名としてとらえるのが正しいようです。
あまりよい例とは言えませんが,たとえばこういうことでしょう。
<div id="mugi" class="designer coder tensyokugumi ossan">......</div>
「麦(mugi)」というのはぼくを特定するためにつけられた名前(id)で,「デザイナー」「コーダー」「転職組」「おっさん」というのはぼくの属性を表すもの(class)です。属性なら「個人事業主」「ひげ」「実はエロい」など他にもいろいろあります。
必要なものにid,classをふる
ひとつの要素に対して,ひとつのidと複数のclassをふることが出来ますが,実際にはそのうちの必要なものだけをXHTMLで書くことになるでしょう。idもclassもふられない要素もあるわけです。
- 文書構造を明確にしたい
- CSSのセレクタとして使いたい
- javascriptなどで特定の要素を取り出したい
- アンカーとして使いたい
など,状況に応じて必要なものは違ってくるはずです。
id="header"で問題はない
ページ上部は
<div id="header" class="header page-top site-title logo-banner">......</div>
という感じでしょうか。
性質として分類すると,ページのヘッダーであり,上のほうであり,サイトのタイトルがあり,バナーである(class="header page-top site-title logo-banner")。
でも,ここに「header」という名前をつけて(id="header"),以降「headerくん」として話を進めても間違いではないように思います。
<div id="header">だけで事足りるなら,それでいいじゃないか,というのが今のところのぼくの考えです。
「あなたは,contentくんでもmenuくんでもfooterくんでもない,headerくんなのよ」
「あたし,headerくんのところにとんでいくわ」
これはどう見てもid="header"の状況です。
その他関連
Search
XHTML/CSS Category Entries
- table のアクセシビリティを向上させる
- table と caption の margin
- label のススメ
- CSSの初期化ファイル
- nth-child() 疑似クラスを試してみる
- CSSファイルの分割
- IEで指定どおりのfont-sizeにならない
- すぐに使えそうなネガティブマージン
- dtをfloatする場合の注意点
- Re: CSSによるデザインワークと相性のよいHTMLって?
- flaotを解除する3つの方法
- カレンダーをリストでマークアップ
- IE6, 7 そして 8
- idの命名に迷ったら
- CSSの初期化
- h1をサイトタイトルにする理由
- classをどの要素にふるか
- li要素にdl要素を入れてみる
- 画像置換の問題点
- id="header"で問題ないのでは
- font-size指定
- clearfixでfloatを解除
- サイト全体に連なるh1〜h6
- ul,liでメニューをマークアップ
- dlで写真をマークアップ
- 見出しの階層をちゃんとする
- サイトタイトルを画像にしたら

HSBで色をつくる