- ベストアンサー
XHTML 1.0 Transitional でインラインフレームの表示方法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> でインラインフレームを表示する方法はありますか? 普段は <DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">のドキュメントタイプでサイトを作っているのですが、他の人に作ってもらったサイトが上記のタイプで作られていました。そのサイトにiframeを組み込みたいのですが、表示がされませんでした。そこで、HTML 4.01 のタイプに変更したところ、文字の大きさや高さなどが崩れてしまいます。何かよい方法がありましたら教えてください。宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
DOCTYPEにURLを書くかどうかで、「後方互換モード」「標準モード」の違いが出ます。 主にCSSの適用のされ方に違いがあります。 > そこで、HTML 4.01 のタイプに変更したところ、文字の大きさや高さなどが崩れてしまいます。 この原因は後方互換モードに切り替わったためと思います。 で、これがHTML4.01 TransitionalのURLつきDOCTYPEです。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> XHTML1.0 Transitionalでもフレームを使えますので、 表示されないのはCSS以外のXHTMLタグの書き方に問題があるかも知れません。 HTMLとXHTMLでは文法が微妙に違いますので、書き方を見直してみてください。
その他の回答 (3)
- sunwarship
- ベストアンサー率63% (14/22)
基本宣言が違ってもiframeは使用できます。 表示が崩れるのはcssの影響かと思われます。 (1)まずはじめに読み込みたい箇所にブロック要素でiframe用のエリアを作ってあげます。 (読み込む側のHTMLファイルです。) <div style="width:500px; height:300px;"> </div> (2)次にHTMLファイルを読み込むための記述を書きます。 <iframe src="読み込むファイル名.html" width="500" height="300" scrolling="NO" frameborder="0"></iframe> (3)これを組み合わせます。 <div style="width:500px; height:300px;"> <iframe src="読み込むファイル名.html" width="500" height="300" scrolling="NO" frameborder="0"></iframe> </div> これで大丈夫だと思うのですが・・・。 iframe使用のやむを得ないとき、いつもこーしてます。
お礼
iframeのタグも確認してみました。 たぶん間違いないと思います。 ありがとうございました。
- tenderfeel
- ベストアンサー率56% (215/379)
HTMLからXHTML1.0にしただけならiframeは何もしなくても表示されますよ。 非推奨ではありますが使っても問題なく表示されるはずです。 単純にタグの書き方を間違えてるだけなのでは? http://www.kanzaki.com/docs/html/xhtml1.html スタイルが変わる(崩れる)のはCSSの影響じゃないかな、と思います。
お礼
表示されますよってことなので、別の場所にもiframeを組み込んでみました。そしたら問題なく表示されました。 初めに組み込んだ場所に何かcssが影響してるってことですね。 もう一度確認してみたいと思います。ありがとうございました。
XHTMLでは、iframeは非推奨となり、使用すべきではない、ということらしい。もし使いたいとなれば、<object>タグを使うということのようだ。 以下の参考URLに、その関係の記事があったのでどうぞ。
お礼
回答をありがとうございます。 参考URLさっそく見てみました。今はデータが手元にないので、明日さっそく試してみたいと思います。 本当に助かります。ありがとうございました。
補足
すみません。お礼を書いた後参考URLをみてたら、よく解らないところが1点ありました。 ifram src の部分を object data に変更するところまでは解りました。 解らないのは、DOCTYPEの記述も下記のように変更するという意味でしょうか? <DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
お礼
XHTMLタグも確認してみました。 間違いはなさそうですが、見落としがあるような気がするので、もっとよく確認してみようと思います。 しかし、XHTML1.0 Transitionalでもフレームが使えることが解り、解決できそうです。どうもありがとうございました。