- ベストアンサー
DOCTYPEについての理解と具体的な問題
- DOCTYPEについて理解が及ばず、具体的な問題に困っています。
- 現在古めのソフトを使用して制作しており、IE6での表示に関する問題が発生しています。
- DOCTYPEを使用してIE6での表示を調整できるのか、具体的な記述方法について知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>DOCTYPEの記述によって、閲覧側のブラウザ(「IE6」)の解釈を指定出来る……というのは間違っていませんよね? ちょっと間違っています(^^;DOCTYPE宣言(文書型宣言)は「私の書く文書はHTMLのバージョンxですよ」という宣言です(HTMLだけじゃないですけど)。当然、実際に書いたHTMLと一致していなければなりません。そうじゃないと、HTMLを解釈するブラウザなどが混乱してしまいます。 #原則は自分のHTMLの文書型に合わせて宣言する。 で、IE5.5とかはHTML4.01の仕様を先取り実装したりした関係で、細かい部分で間違って実装してしまいました。その結果、正しく書かれたHTML4.01は(できるだけ)正しく表示するためにStandardsモード、IEにあわせてHTMLの方で対処した(結果、Standardsモードでは意図通りに表示されなくなった)多くのページを救うためにQuirksモード、とふたつのモードが必要になってしまいました。 で、これの切換をどうするか、ということで、正しいHTML4.01を書ける人は文書型をきちんと書いてるだろうし切り換えの仕様にあわせて修正できるだろう、そうじゃない人は知らないうちにTransitionalなHTMLを書くだろうし文書型宣言なんかしてないことも多いし、と思ったかどうかは知りませんが、そういう感じでDOCTYPEスイッチと呼ばれる、文書型宣言で表示モードを切り換える、という仕様にしたようです。 >この目的に添ったDOCTYPEの記述はどうなりますか? IE5.5と同等に表示にしたいのであれば、表示モードをQuirksにすればいいので、通常のページであれば <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> と書くか、あるいは文書型宣言を消してください(文書型宣言がないとQuirksになる)。フレーム割を行っているページは <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> >現在「W3C//DTD HTML 4.0」を基準とした古めのソフトを中心に手書きを加えて制作しています。 IBMホームページビルダーでしょうか?こやつの古いバージョンはこともあろうにHTML4.0と存在しない(というか、仕様として認められることなく散った)文書型を宣言する困ったちゃん、だったはず。しかもStandardsモードで表示される形で。 面倒ですが、上記の文書型宣言に修正するか、自分のHTMLの文書型に自信がなければ消しちゃう、といいでしょう。 #4.0でもTransitionalと指定すればQuirksになる、という説もあるのですが、そもそも4.0なんて宣言は間違いですので、追求する価値もないでしょう。 文書型宣言とは http://www.kanzaki.com/docs/html/doctype.html DOCTYPEスイッチの解説 http://www.remus.dti.ne.jp/~a-satomi/bunsyorou/Doctype-Switch_situation.html
その他の回答 (1)
- onimotsu
- ベストアンサー率36% (279/758)
>DOCTYPEの記述によって、閲覧側のブラウザ(「IE6」)の解釈を指定出来る……というのは間違っていませんよね? DOCTYPEはHTMLのバージョンを指定しているに過ぎないのでは? 下記URLは既にご覧になりましたか? 一応、ご確認ください。
お礼
回答ありがとうございます。 すみません、お二人目に回答下さったかたにも指摘されましたが、本来の意味はそうですね。 やりたいことというか、質問の意図が別のところにあったので、そちらを書いてしまいました。
お礼
回答ありがとうございます。 >ちょっと間違っています スミマセン、言葉が足りませんでした。「それ」(宣言)は前提として、HTMLのヴァージョンの後に指定を入れることでブラウザの表示に有効な小技(っていうか苦し紛れ)になりますよね、ってことで。 >IBMホームページビルダーでしょうか おっしゃるとおりでございます。ホームページビルダー2000です。最初はコレに頼ってましたが、最近はファイルの整理に便利だし、量の多いタグを自分でぺちぺち打たなくて済むし、どうせ基本のタグしか使わないし……という感覚で古いまま使っておりました。 4.0ってこいつの間違いだったのですね~~!! どおりで。そんなの無いな~と思ってたんです。 教えていただいたURL2件目、実はそこをおもに参考にしました。たぶん、そうなんだろうな、と思いつつ、具体例がわかりにくかったので、ここで質問したんです。 これで自信がつきました。ありがとうございます。