• ベストアンサー

cssのidとclassの違いについて

cssのidとclassの違いについて ホームページ作成でcssを指定するとき、同一ページ内に1つしか指定しない場合はidを使用し、同一ページ内に複数指定したい場合はclassを指定しているのですが、使い方はあってるのでしょうか? 独学なゆえ間違った使い方をしているのかなぁと思い質問してみました。 もし間違っていたら正しい使い方を教えてください。またidとclassの意味の違いも一緒に教えていただければうれしいです。

  • HTML
  • 回答数2
  • ありがとう数6

質問者が選んだベストアンサー

  • ベストアンサー
  • x_pocca_x
  • ベストアンサー率69% (9/13)
回答No.1

合ってますよ。 idとclassの意味の違いですが、classはスタイルを指定するためだけに使い、idは要素を特定するために使います。 javascriptなどのプログラムでもidを使いますが、例えば「id="***"の要素の中のテキストを"+++"に書き換える」みたいな指定に使うんですね。 idが複数あるとどこを書き換えるのかわからなくなってしまいます。 なので、idはページ内に1度きりなんです。 逆に、1度しかないものもclassで指定したっていいんです。 javascriptのプログラムとあわせたとき、idがバッティングしてしまうことを避けるために全部classで書いた事もありました。 ご参考までに。

devilconan
質問者

お礼

なるほどjavascriptで指定するあのidと同じゆえに1回しか指定できないということですね。 なんかすごくすっきりしました。 ありがとうございました。

その他の回答 (1)

  • tkmojo
  • ベストアンサー率50% (105/207)
回答No.2

>同一ページ内に1つしか指定しない場合はidを使用し、同一ページ内に複数指定したい場合はclassを指定している 使い方としては合ってます。 私はレイアウトで使用しているボックス(全体、ヘッダ、サイドナビなど)にid値を入れ、 他は大体classで対応しています。 ボックスでなくても、コピーライトのように明らかに一度しか出てこないものもidです。 逆にページ内に1回しか出てこなくても、他のページで使わないものはclassを入れたりします。 まぁこれはどっちでもいいかも知れませんが。 考え方としては、idは名前、classは役割と考えればわかりやすいです。 1ページに同じ名前を何度も命名するのはおかしいですが、 役割を何度も指定するのは間違いではないので。

devilconan
質問者

お礼

idは名前、classは役割ですね。 ふむふむ、これもまたわかりやすい回答ありがとうございます。 使い方があっていてほっとしました。 ありがとうございました。

関連するQ&A

  • CSSでidとclassって結局どう違うんですか?

    CSSを使っているとidとclassが でてきます。ほとんどidだけ使っています。 人のホームページをみていると両方が混在しています。 今更ですがこの二つはどういう違いがあるんでしょうか・・・?またどういう場面で使い分けているんでしょう。何かしらルールでもあるんですか・・・? よろしくお願いします

  • CLASSとIDの違いについて教えてください。

    スタイルシートを使ってWEBページを作っているのですが、 CLASSとIDの違いがわからず困ってしまいました。 CLASSでやってもIDでやっても 同じように動作しているように見えます。 この2つに機能的な違いはあるのでしょうか? また、使い分けた方がいいのでしょうか?

  • CSS idとclassをtableでつかうとき

    内部cssで テーブルに装飾をしようとしていたのですが、 <style type="text/css"> <!-- table.sample td {font-size:12px;} --> </style> <table class="sample">・・・ これは有効でした <style type="text/css"> <!-- table#sample td {font-size:12px;} --> </style> <table id="sample">・・・ これは無効でした なぜでしょう?classとidはそのユニーク性のみの違いかと思っていましたが。 このような機能的な違いもあるのでしょうか。 それとも単に記述ミスですかね。。。

    • ベストアンサー
    • CSS
  • CSSのid名class名の重複回避方法について

    今、複数ページがあるサイトを作ろうとしているのですが、 他の人が作成をする場合もあるので、 ヘッダ・フッタなど、共通部分に使っているcssの設定(idやclass名)と、 個々のページで設定するcssの設定が重複しないようにしたいと思っています。 もし、共通cssと個別cssに同じ#fontというid名が存在してしまったとして、 個別のページのcssファイルに↓の用に記述し #page01 #font{  color:#FFFFFF; } html内の、<div id="page01">~</div> の中に含まれるid="font"と定義した場合 共通のidに#font が存在していても大丈夫なのでしょうか? また、大丈夫な場合、idやclassを作るたびに #page01 #font #page01 .photo と#page01を頭に全部つけると分かりづらくなるな。。と思うのですが、 それを回避する方法はありますでしょうか? ほか、重複しないアイデアをご存知の方がいらっしゃいましたら ご教示いただければ幸いです。 どうぞよろしくお願いいたします!

    • ベストアンサー
    • CSS
  • HTMLのidについて

    タグは独学なので基本的な質問ですが宜しくお願いします。 例えば、<div id="○○">~</div>の使い方ですが、「id」は同一ページ上に1回だけ使えるというルールは理解していますが、同じサイトでも異なるページであれば同じ「id="○○"」と書いて、「css」で指定する事は文法上、あるいは構造指定という観点からでも間違いではないのでしょうか。 要は「class」で指定しておけば問題ないのですけれども。 基本的すぎる質問ですが、回答宜しくお願いいたします。

    • ベストアンサー
    • HTML
  • 複数ページでのidとclassの使い分け

    . よくある、id と class の使い分けについてですが、複数ページに共通して存在するようなレイアウトに対する考え方についてです。 今まで、一つのページ内に一つだけ存在するものに対しては id を割り振り、一つのページに共通して存在するものに対してのみ class を割り振ってきました。ですので、class より id をベースにコーディングしていたという感じです。 ただ、最近、ページが増えるたびにどうもソースがなんとなく見にくく、メンテナンスに不効率な感じがしてます。特に、複数ページに共通したレイアウトがある場合です。 一つのページ内に共通して存在するものに対してのみ class を割り振り、その他は全てidを割り振るという考え方を貫くと、同一ページには同じレイアウトは存在しないが他の複数のページには同じレイアウトが存在しているような場合にも、基本的にその複数ページのどのページにもその共通したレイアウトに関して共通した id を割り振ることになってしまいます。 しかし、メンテナンス性を考えると、このような場合も基本的に class を割り振り、複数ページの内のあるページだけ少しデザインを変えるようなときだけ id を割り振る、といった使い方のほうがソースが見やすくすっきりするような感じがします。 ですので、最初から claas を割り振ることをベースとして、全ページを通じてそのレイアウトが固有のものになりそうな場合にだけ id にする、または、後から固有のものになった部分にだけclassに加えて後からidも付与する、というようなシンプルなコーディングに転換したいと考えてます。 しかし、この方法ですと、他のページには同じレイアウトが存在するとはいえ同一ページにはそのレイアウトが1つだけしか存在しないにもかかわらずidでなくclassを付与してしまう場面が増大してしまい、原則論から考えると若干気にはなってしまいます。(ひょっとすると私の原則論のとらえ方がそもそも間違っているのかもしれません) このあたり、どう考えたらよろしいでしょうか? 何かかいろいろなご意見や考え方を頂けますとうれしいです。 .

  • 実務でIDとclassの使い分け方法

    現在CSSを勉強中です。 classセレクタを使うとCSSの指定が同じタグでもそれぞれ違う デザインが指定できて非常に使えるなぁと思ってます。 例えば、一方のH1タグの文字の色を青にしてもう一方のH1タグの 色を赤にしたりすることが可能です。 しかし、MdNを見てみるとよく外部CSSファイルに「#○○」、 bodyタグ内にIDを指定してデザインを適用する使い方が多くを 占めていました。 このIDを使うときは、ページが縦に長いときに印をつけて、ページ内の指定位置へリンクするという使い方だけだと私は思っていました。 classではなくIDをよく使う理由はなんなのでしょうか?? みなさまよろしくお願い申し上げます。

    • ベストアンサー
    • HTML
  • classやidが変わったときに情報を更新する(?)

    今現在 ボタンを押すと class やidが変化するようにしているのですが、 変化後、classやidで指定したcssの色にはなるのですが、(同時に元のclassやidのcssの色は無効になる) getElementByIdや getElementsByClassName("sw")[1]はページを読み込んだときの初期状態のidやclassに対してかかるようで、 読み込み終了後のid、classの変化後にも対応するにはどのようにするのでしょうか? 以下のがページ読み込み後idやclassが変わっても、読み込んだ時に設定されているid、classで実行されてしまう物です。 function lod(){ document.getElementsByClassName("sw")[1].onclick = (function(){iFrame()}); document.getElementById("td").onclick = (function(){iFrame()}); }; まだJavascriptはあまり詳しくないです。 質問が下手ですいません。補足が必要でしたら出来る範囲で行います。 よろしくお願いします。タスケテー

  • id class が効かない

    HPを作成し始めたばかりです。 IEではスタイルシートで id や class で画像のサイズが指定するとちゃんと表示されますが、 Firefox では全く効かずそのままの大きさになります。どうすればよいでしょうか? また、ブラウザの表示で「~場合は・・・すればよい」というようなサイトはありますか? ありましたら教えてください。よろしくお願いします。

  • id class

    過去問で http://personal.okwave.jp/qa2460757.html と同じ質問なのですが、こういうふうに考えてもいいでしょうか? 1.id は使わず、class だけを使っていれば問題はない。 また、 2.id は同じページ内では1箇所とありますが、 div#input {・・・・・} と指定して、<div id="input"></div> という箇所を何箇所も指定していますが、何の問題もなく表示されています。 これはどういうことでしょうか? よろしくお願いします。