• ベストアンサー

html宣言文同じサイト内に数種類混在さても問題ありませんか?

現在、サイトを制作する際にDreamWeaverを使用し、htmlの宣言文xhtml 1.0 strictをデフォルトにしていますが、スクリプトエラーが出ます。そこで、xhtml 1.0 transitionalに変更すると直ったりします。 そこで質問なのですが、ページごとに宣言文(htmlのversion)を変えて、1つのサイトで複数の宣言文(htmlのversion)を混在させる際のデメリットを教えて頂きたく思います。有識者の方々のご教授をお待ちしております。

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

  • ベストアンサー
  • abril
  • ベストアンサー率69% (388/560)
回答No.3

> htmlの宣言文xhtml 1.0 strictをデフォルトにしていますが、スクリプトエラーが出ます。そこで、xhtml 1.0 transitionalに変更すると直ったりします。 (自分の経験の範囲では)大概の事はStrictでも支障なく対処できるので、Strictに相応しいコーディングができていないのかもしれませんね。であればそれが身に付くまで全てTransitionalで統一された方が宜しいかも、です。 > ページごとに宣言文(htmlのversion)を変えて、1つのサイトで複数の宣言文(htmlのversion)を混在させる際のデメリット 「その要素を使う為にはそのDTD宣言でなければできない」という場合のみ、やむを得ず混在させる事もありますが。 例えばフレームを使用する場合、フレーム構造そのもののファイルと、フレームの中に実際に表示させるファイルとではDTD宣言が変わるのは必須ですし。 また、文書内に<iframe>タグを含めたファイルの場合もXHTML1.0 StrictやXHTML1.1では非推奨となってしまうのでXHTML1.0 Transitionalで記述せざるを得ません(個人的にはどちらも極力使用しませんが、クライアントの要望によってはその限りでもないので…)。 しかし、他の回答者様も仰っている通り、DTD宣言を変えることでCSSの解釈に違いが出る場合があります。混在して使用する場合は、そこの差異を認識した上でそれぞれのDTD宣言でも支障がでない様に、どのファイルにも汎用で使っている様なスタイルに関してはCSS側の記述を書き換えたり振り分けたりする必要が出てくる場合がある、ということです。 ただ、メンテナンスの手間や混乱を避けるという事を考慮すると、やはりできるだけサイト内は同一のDTD宣言がされている事が望ましいのではないかと思いますので。

sea-bass
質問者

お礼

ご回答いただき、有難うございました。 他の有識者の方々の内容をまとめ、さらに追加情報を付加して頂いた回答と認識させて頂き、感謝しております。

その他の回答 (2)

回答No.2

まずは各宣言の違いについて勉強されるといいと思います。 それが直接この質問の回答にもなると思います。 簡単にではありますが、strictとtransitionalの違いを記述させていただきます。 Strict 厳格なHTMLであることを宣言しています。 HTML4.01で非推奨とされているタグは使用できず、また、その文書構造も「厳格」です。 Transitional 非推奨タグの使用や、HTMLによるレイアウトについてもある程度許されています。 質問者様の場合、細かい原因はわかりませんが、制作されたページの文章構造が「厳格」でなかった事が原因なのではないでしょうか? 複数の宣言が混在する事のデメリットとしては、ページによって頭を切り替えて制作しなければならない点です。 多分なにかしら問題が起きた時にパニックになりそうな気がします。 現在のwww上ではTransitionalが最も主流ですので、まずはこれから勉強された方が楽です。 お仕事などの都合でどうしてもstrictで作らなければならないのであれば、まずはHTMLの正確な文章構造を学ばれる事をおすすめします。 参考になれば幸いです。

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.1

あくまでも可能性の話ですが、ブラウザによっては、同じcssでも、バージョンによってレンダリングが変わるかもしれません。

関連するQ&A