みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

インラインフレームの高さ指定

ホームページビルダーでホームページ作成しているのですが、インラインフレームにより共通部分のURLを導入しました。その共通のURLの内容全てをスクロールなしで、ページに載せたいので、そのインラインフレームのサイズで高さをパーセント指定で100%としたのですが、中途半端に切れてしまいます。
大体その共通部分のURLの高さは350ピクセルぐらいですので、大きめに高さサイズを400ピクセルとピクセル指定にするともちろん全部しっかり写るのですが、これでは共通部分のページが高さが伸びていきますと、全てのページでまた高さ指定を400ピクセルから大きくしなくてはいけませんので、とても大変です。
どうしたら、高さを%指定にして、内容全てを載せることができるのでしょうか??

お願いします。

投稿日時 - 2007-12-09 16:05:09

QNo.3583998

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

構成がちょっと曖昧なんですが、各ページに
<iframe src="共通.html">iframe 未対応UAのための文言/リンク</iframe>
があるということでしょうか。
そして、
1.その共通.html は、現在、内容全部で高さ350px 程の表示だが、将来内容が増える(減る)可能性が大きい
2.共通.html 内容が増えても減っても、各ページのiframe の高さをいちいち style 指定しなおしたくない

この場合、javascriptで可変するほうが楽かと思います。
属性や styleの n%指定は、親要素の割合ですので、親要素に height 指定がないばあい、height: auto; で算出されます。

結局、指定すると思われますし、増減する内容ならば、共通.html に javascript、がスマートかと。内容全ての高さ、 scrollHeight を取得し、iframe.style.height で指定。関数は body onloadで。

そうしておけば、各ページの iframe に高さ指定しなくても、(javascript有効なUAならば)共通.html が増減しても全て表示してくれるはずです。

詳細スクリプトは・・・javascriptカテゴリーをお調べになったほうがよいです。または web検索してみてください。どこかにあると思います。

javascriptを使わずに、となると・・・font,font-size,width なども指定しないと、その height をほとんどのブラウザで同じように全て表示というのは、かなり面倒な作業になりそうです。ちょっと考えるのも嫌になりそうなw

余計な心配かもですが、html宣言は HTML 4.01 Transitional ですよね? strictでは iframe 非推奨です。

投稿日時 - 2007-12-17 00:00:43

お礼

その通りの内容です。javascriptの導入を試みていきたいと思います。
参考になりました。
丁寧な回答ありがとございました。

宣言は HTML 4.01 Transitional ですので、大丈夫でした。

投稿日時 - 2007-12-23 11:42:40

あなたにオススメの質問