• ベストアンサー

スタイルシートでidとクラスの定義について

ulmoの回答

  • ulmo
  • ベストアンサー率43% (197/454)
回答No.1

ちょっと勘違いされてますね。 「ひとつの文書内に同じIDが2つ以上存在してはならない」んです。 つまり id="header" が2つ以上あってはならないのであって、 その同じ文書に id="footer" があっても何の問題もないです。 id="" がひとつしか使えない、という事ではありません。 また、仮に2つ以上の同一IDがあっても、 現在の主要なブラウザは問題なく表示してくれます。 同一文書内リンク、たとえば index.html#header のような リンクが正常に機能しない事を除けば、実際上はあまり問題ないです。 無論、正しくはないので、バリデータにかけるとエラーが出ますが。

horieweb
質問者

お礼

有難うございました。 ずっとわかりませんでしたがようやくわかりました。(感謝!!) これからも宜しくお願いします。

関連するQ&A

  • 最近、HTMLのヘッダーをIDで定義(id="header")しているサイトが多いですが、なぜclassでなくIDで定義するのでしょうか?

    最近、CSSレイアウトを採用しているサイトの多くが、HTMLページのヘッダー部分やフッター部分をIDで定義(id="header"、id="footer")しています。 私は、IDというと、例えば身近には、住所や電話番号、免許書番号や銀行の口座番号等の、多くの場合は連番を用いた固有な値を使用するイメージがあります。 ところがHTMLでは、IDの値にheaderやfooter、さらにはwrapperやcontainer等の、通常ならIDの値として相応しくないような一般的な名詞が頻繁に使用されています。 classの値であれば、そのような一般的な名詞もうなづけますし(というよりclassに固有な値は逆に奇妙かも)、スタイルシートを適用するだけなら、classだけでも十分可能だと思いますが、なぜIDを使用するのでしょうか?とても不思議です。

    • ベストアンサー
    • HTML
  • スタイルシートのclearfixの定義について

    スタイルシートのclearfixの定義はhtml上では定義していないのにどうして .clearfix:afterと定義するのでしょうか? あと <div class="clearfix" id="mainblock"> <div id="mainarea" class="clearfix"> などのclassとidを両方定義しているのはどういった意味でどういう場合行うのでしょうか? 教えて下さい。

  • スタイルシートの定義について。。。

    スタイルシートの、IDとClassの違いがわかりません。。。 教えてください!!

  • スタイルシートレイアウトで・・

    初めまして。よろしくお願い致します。 先日、知人のHPをテーブルレイアウトからスタイルシートレイアウトで作り直しました。すると、ブラウザでは問題なく見れるのですが、 ホームページ作成ソフトの画面で見ると、大きくレイアウトが崩れています。文字の大きさなどはスタイルシートで設定したとおりです。 ちなみに、元々のHP(テーブルレイアウト)はドリームウィーバー4日本語版というもので作られており、私が作成したものではありません。それを私が、ホームページビルダー10を使って、スタイルシートレイアウトに書き直しました。 いろんなソフトで確認してみると『ビルダー10』のページ編集の画面では、レイアウトの崩れはありません。『ビルダー9』のページ編集の画面でみると右と左に回りこみを指定したのに、文字などが重なってしまいます。 また、『ドリームウィーバー4日本語版』のデザインビュー画面だと文字の大きさ以外のスタイルシートは、全く無視され大幅に崩れてしまって、回り込みなどは全く無視され、下へ下へ書き込んだHTMLソースどおりに表示されます。 『ドーリームウィーバーMX2004』だと左に回り込みを指定した部分だけが崩れて、その部分が左の最下部(フッターよりも下)になっています。 ソフトが違うから崩れるのでしょうか?それともスタイルシートの設定がおかしいのでしょうか?何から修正すればいいのかわかりません。 当方、HP歴はビルダーで1年ほどほぼ独学の初心者です。 うまく説明できなくて、申し訳ありませんがよろしくお願いします。

  • 複数ページでのidとclassの使い分け

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

  • HTMLとスタイルシート

    SE社のホームページ辞典には、 HTMLは論理構造、スタイルシートはデザインを担当する というようなことが書かれていましたが、 HTMLとスタイルシートは全くの別物ということでしょうか? たとえば教えて!gooで、 「スタイルシートのIDとかCLASSって何ですか」という質問を このカテゴリーでやったら、 「カテ違いですよ」と言われるでしょうか?

    • ベストアンサー
    • HTML
  • スタイルシートで、id属性の中にclass指定をすることはできますか?

    CSSで、id属性の中にclass指定をすることはできますか? 現状は、divタグを使って、ヘッダー、メイン、フッターと分けているのですが、メインのところで #main.hoge{ #main .hoge{ とも動きませんでした。なんとなく間違っている指定なのかなとはおもうのですが、id属性で細かく分けた中をclassで指定したい場合、単に.hogeで十分機能するのですが、id属性の中をclassで指定したい場合、皆様はどのようにされてみえるのでしょうか。

    • ベストアンサー
    • HTML
  • スタイルシートについてです

    自分のホームページにスタイルシートで画像やテキストを位置指定してレイアウトを作っていきたいんですが、この方法で作ったページを見るためにはブラウザなどの環境が整った人でないと見れないんでしょうか?教えてください。

  • スタイルシートで枠を作る方法

    今まではHTMLのテーブルタグでページをレイアウトしていたのですが それと同じデザインをスタイルシートでやりたいのです。 ページのデザインは、ページの真ん中に大きな枠を作って その中に本文を書き、枠の外は背景画像という感じです。 これをスタイルシートで表す時、スタイルシートファイルには どう記入すればよいのでしょうか。 文が分かり辛くてすみませんが、教えてください。

    • ベストアンサー
    • CSS
  • スタイルシートについて

    スタイルシートには、 タグのスタイル classのスタイル IDのスタイル とありますが、これを全部同時に使ったとしたら、優先の順番はどうなるんでしょうか? スタイルシートは最近入門したばかりでわからないことが多いので、もし意味がわからなかったら言ってください。

    • ベストアンサー
    • HTML