• 締切済み

同じ内容でもclassとidによって変わりますか?

classとidの違いは何となくわかっているのですが、同じ内容でもclassとして定義したものとidとして定義したものでは表示に違いが出るのでしょうか。やりたいことによってはここはidじゃなきゃだめだっていうようなものがありますか。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

たんに表示だけの問題であればidをclassに代替することは可能でしょう 構造的には#3も指摘していますが、idをclassに変更できないモノも 多々あります。 <input type="checkbox" id="hoge"><label for="hoge">hoge</label> なんてのもそうです。 ちなみに#3さん指摘の <a href="#hoge">goto hoge</a><a id="hoge">hoge</a> は「代わり」というとname="hoge"とid="hoge"のどちらでもいいように 思えてしまうかもしれませんが、name="hoge"はすでに廃止がすすんでいる 要素なのでなるべく使わないようにしましょう。

ceina
質問者

お礼

お礼が遅れてすみません。なるほど・・・いろいろあるのですね。参考になりました。ありがとうございました。

  • Yama-tani
  • ベストアンサー率44% (13/29)
回答No.3

idは個で、classは属性・種族です。ページに1回でも属性ならclassを使いましょう。よく似ているので間違った使い方をされている方が多いです。JavaScriptなども視野にいれるなら、別のものと思った方がいいです。 html+cssだけでも 例えば、idはname代わりに使えます。アンカーでページの途中に飛ばせます。 idとclassの指定(プロパティ)がかちあったとき、idの指定が優先されます。よく後ろの指定と思っている人がいますが、優先順位があり、その得点が同点の場合だけあとから記述したものになります。

ceina
質問者

お礼

お礼が遅れてすみません。単なるレイアウトだけではないんですね。これからのことを考えて使い分けるべきだと実感しました。ありがとうございました。

noname#66720
noname#66720
回答No.2

http://www.hamashun.com/blog/2007/03/classid_1.html classとidの使い分けについては、ここの説明がわかりやすいです。 classとidの違いは表示に関しての違いというよりは、表示させるプロセスでの違いではないでしょうか。 どちらで指定しても表示に違いは出てきませんが、途中で上書きされる事などを考慮すれば重要度を意識する部分にはidを使うようになると思います。 絶対的な基準はないのでどのように使うのも問題ないと思いますが、できるだけ短く、見やすいソースになるように気を使えば良いのではないでしょうか。

ceina
質問者

お礼

お礼が遅れてすみません。わかりやすいサイトを紹介していただきありがとうございました。

回答No.1

>同じ内容でもclassとして定義したものとidとして定義したものでは表示に違い 同じスタイルが当たっているなら「表示上の違い」は無いと思う。 #あまり恩恵を受ける機会はないけど, #XHTMLの文書をプログラミング言語等で別なことに活用したくなった時に #ちゃんと使い分けてあると非常に便利だろうな、という想像は付く。

ceina
質問者

補足

そうなんですか。それじゃあどちらで定義してもいいんでしょうか。一般的にidはそのページで一ヶ所だけに適使うもので、2回以上は使えないって言いますよね?classで定義したものがそのページで一ヶ所だけに使ってても問題はないのでしょうか。

関連するQ&A