現在ホームページを制作中で、初めてインラインフレームを使って制作しています。
まず下記のように、インラインフレームのみで試してみたら、IE7・Opera・FireFox・GoogleChromeで上手く自動的に調節できました。
<html>
<head>
</head>
<body>
<div>
<iframe src="frame_test.html" allowtransparency="true" frameborder="0" width="600" height="80%"></iframe>
</div>
</body>
</html>
次に、インラインフレームの周りに、下記のように画像やリンクバナーなどを配置させました。
<html>
<head>
</head>
<body>
<div><img src="" width="50" height="600"></div>
<div><img src="" width="150" height="600"></div>
<div>
<iframe src="frame_test.html" allowtransparency="true" frameborder="0" width="600"
height="80%"></iframe>
</div>
</body>
</html>
これも予定通り、IE7・Opera・FireFox・GoogleChromeで上手く自動的に調節できました。
次に、下記のようにそれぞれをフロートさせて配置させてみました。
<html>
<head>
</head>
<body>
<div style="float:left;"><img src="" width="50" height="600"></div>
<div style="float:left;"><img src="" width="150" height="600"></div>
<div style="float:left;">
<iframe src="frame_test.html" allowtransparency="true" frameborder="0" width="600"
height="80%"></iframe>
</div>
</body>
</html>
すると、FireFox・GoogleChromeでは上手くいったのですが、IE7・Operaでインラインフレームの縦幅が100pxくらいに短くなってしまい、調節もできなくなってしまいました。
それぞれを配置させるのにフロートは必要なので、どうすればよいか分からなくて困っています。
何が原因で、どうすれば上手くいくか分かる方、どうかアドバイスをお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
適切なDOCTYPE宣言を書いて標準準拠モードになると、
htmlの解釈がw3cの仕様に(なるべく)沿った形になる為に
heightの扱い方が変わったんじゃないでしょうか。
#1に書いたように、親の高さを指定しないと(たぶん)%を計算できないので、親に高さを指定してやります。
<style type="text/css">
html,body{
height:100%;
}
<style>
iframeの親全部にheightが必要かもしれないです。
No.3
- 回答日時:
<html>
<head>
</head>
<body>
<div style="float:left;"><img src="" width="50" height="600"></div>
<div style="float:left;"><img src="" width="150" height="600"></div>
<div style="float:left; height:100%;">
<iframe src="frame_test.html" allowtransparency="true" frameborder="0" width="600" height="80%"></iframe>
</div>
</body>
</html>
#2の補足に書かれている、ダメだったというソースをそのままコピペして確認してみましたが(frame_test.html は http://www.google.co.jp/に変更)
ie6-8 firefox3.5 opera10でiframeの高さは80%になりました。
何がダメなんでしょうね。
後方互換モードというのは、正しくないhtmlの解釈でhtmlを表示する状態です。
「doctype宣言」で検索してみると詳しい説明のページがたくさんでてくるのでみてみてください
たとえばこんな感じ
http://allabout.co.jp/internet/hpcreate/closeup/ …
この回答への補足
ご回答ありがとうございます。
前回の記述に、抜けている部分がありました。
おっしゃるように、教えていただいた記述で確かに上手くいきましたが、下記のようにドキュメント宣言を加えると、上手くいかなくなります・・・;;
何かおかしな記述をしているんでしょうか・・・
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
<div style="float:left;"><img src="" width="50" height="600"></div>
<div style="float:left;"><img src="" width="150" height="600"></div>
<div style="float:left; height:100%;">
<iframe src="frame_information.html" allowtransparency="true" frameborder="0" width="600" height="80%"></iframe>
</div>
</body>
</html>
No.2
- 回答日時:
あぁ、iframeのheight書き忘れました、80%の指定を追加して試してみてください。
この回答への補足
salonpathさん、ご回答ありがとうございます。
早速、下記のように修正してみましたが、変わらずIE7・Opera加えて、IE6でもだめでした;;
<html>
<head>
</head>
<body>
<div style="float:left;"><img src="" width="50" height="600"></div>
<div style="float:left;"><img src="" width="150" height="600"></div>
<div style="float:left; height:100%;">
<iframe src="frame_test.html" allowtransparency="true" frameborder="0" width="600" height="80%"></iframe>
</div>
</body>
</html>
いったいなにがだめなんでしょうか・・・;;
また、「後方互換モード」って何ですか? それも教えていただけるとうれしいです。
どうか、ご回答をお願いします。
No.1
- 回答日時:
後方互換モードで作ってるんでしょうかね?
親ボックスの高さを指定してみてください。
↓こんな感じ
<div style="float:left;height:100%;">
<iframe src="frame_test.html" allowtransparency="true" frameborder="0" width="600"></iframe>
</div>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- HTML・CSS flex の各子要素を横幅 100% にしたい 1 2022/09/22 21:25
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- HTML・CSS PCサイズで赤い画像2つと、青い画像2つがそれぞれ横に2つずつ並んでいるのですが、これをスマホサイズ 5 2022/04/11 12:01
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- HTML・CSS 【HTML】【CSS】【Swiper】 元の画像は横1200×縦600なのですが、実際のサイト上に反 5 2022/07/16 13:57
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
bodyにidをつける理由は何ですか?
-
googleモバイルがiframeで表示...
-
ボタンが押されたらWebページの...
-
WEB上で編集できない、スク...
-
テキストボックス内にハイパー...
-
-css- ページオープン時やリロ...
-
(Javascript)印刷するファイル...
-
ハイパーリンクに下線を表示す...
-
スクロールバーのスクロール量...
-
bodyタグの範囲について
-
h1にmarginを指定すると一瞬カ...
-
<p>で<td>のように枠を表示させ...
-
<a href="#" …>の意味を教えて...
-
SCRIPT5007: 未定義または NULL...
-
base64encodeでの文字化けについて
-
別ファイルのfunctionの読み込み方
-
リンク移動先のURLを取得
-
スマホ上で、左右スワイプで次...
-
HTML内に記載された画像のURLを...
-
Java ScriptでIPによるアクセス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
bodyにidをつける理由は何ですか?
-
(Javascript)印刷するファイル...
-
ハイパーリンクに下線を表示す...
-
テキストボックス内にハイパー...
-
ボタンが押されたらWebページの...
-
横スクロールを右から左へ・・・
-
WEB上で編集できない、スク...
-
別ページのページ内リンクでの...
-
"mailtoでメールの【氏名】【性...
-
googleモバイルがiframeで表示...
-
bodyにwidth:100%をつける理由は?
-
複数のiframeの読み込みについて
-
インラインフレームの縦幅を、...
-
【HTML】フレームの中央寄せに...
-
WSHでのIE制御について
-
インラインフレーム内のスクロ...
-
「overflow: hidden」ペー ジ内...
-
ページによって表示位置がずれ...
-
DOCTYPEの指定より異なる動き
-
外部ページからハッシュタグ(...
おすすめ情報