クラスとIDの違い

[新着] Webテンプレートを仮オープンしました



0   名前: ネム : 2005/12/12 22:35
クラスとIDの違いを教えてください。
クラスは複数箇所指定可で、IDは不可、というのはわかるのですが、
実際に使うときに使い分けの必要性がわかりません。
同時に二つ指定して応用する、ということもあるとは思いますが
全部クラスで指定したり、IDで指定したり、ということが可能ですよね?
要は好みの問題なのでしょうか?

1   名前: Bill閣下 : 2005/12/12 22:35
classは細分化するために使い、idは特定するために使います。
多分あなたがclass指定の必要性が無い文書を書いているだけであって、
それではいけないということは全く無いですよ。

mozilla.orgではclassの使い方の方針が詳しく決められていて、
なかなか参考になるのではないかと思います。
http://www.mozilla-japan.org/contribute/writing/markup.html

2   名前: Pid : 2005/12/12 22:35
http://deztec.jp/x/01/tips/page/p0045.html とか。

以下は全くの個人的嗜好ですが(例文は上記リンク先から借用),

<ul>
<li id="date20051204" class="holiday Sunday">2005/12/04(日)今日はお休み。</li>
<li id="date20051205" class="weekday Monday">2005/12/05(月)今日は仕事。</li>
<li id="date20051206" class="weekday Tuesday">2005/12/06(火)今日も仕事。</li>
</ul>

id は,典型的にはアンカーの終点(たとえば diary.html#date20051204)になりますから,「そこにリンクされても良いかどうか」を念頭に置きながら付けると良いかと思います(もちろん,id の役割はそれだけではありませんが)。

class は要素のグループ化を行いますから,たとえば「月曜ボタンを押したら月曜に関連する事項(class="Monday")を,火曜ボタンを押したら火曜日に関連する事項(class="Tuesday")を表示する」といった柔軟な利用法を可能にします。したがって,class は(行き当たりばったりではなく)サイト全体の設計をよく考えた上で付けるようにすると良いでしょう。

3   名前: ネム : 2005/12/12 22:35
はは〜なるほど。
ちょっとわかったような気がしています。

どちらのサイトも該当箇所だけまず見てみました。
そこと、お二人のコメントを参考に、
・例え混同して覚えていても文法上の問題は無さそう
・定義がはっきり異なること
・ページ内の使用回数等で使い分けるものではないということ
・ページ内の役割、サイト内の役割、あたりで使い分けが見えそうだということ
…がわかりました。

とりあへず、今後使用していくうちで使い分け慣れていこうかなと思います。
教えていただいたサイトは勉強になりそうなので、熟読します。
ありがとうございました。

4   名前: S : 2005/12/12 22:35
 IDとCLASSは用法が違ってば。

http://deztec.jp/x/01/tips/page/p0045.html
では「気を付けなければならないのは、要素の登場回数ではなく、目的によって class を指定するか id を指定するかを使い分けるという点です。ページ内に1回しか出てこないものは全部 id で良しなんてのは大きな間違いです。」とあるでしょ?

「"いろは"の先のCSS」
http://deztec.jp/lecture/rn/

などを見てよく勉強しなさい。

5   名前: 匿名希望 : 2005/12/12 22:35
>>4
>>3 はまさにそういう結論に達しているけど。誰に対するレス?

6   名前: S : 2005/12/12 22:35
>>5さんへ
>>3
「・例え混同して覚えていても文法上の問題は無さそう」

と書いているから「用法が違う」といったまでだけど。

一覧へ戻る