No.1
- 回答日時:
fixed や absolute の前に
>divをheight100%,他は適当で定義したとするとその要素は一応ブラウザの上から下まで伸びてくれます
って普通は div にのみ height:100% を指定してもブラウザの上から下までは表示されません。もしも表示されるのだとしたら、それは互換モードでレンダリングされているからです。その表示は CSS の本来の仕様とは異なる動作ですので注意してください。
CSS を本来の仕様通りに使いたいのならば、正しくドキュメントタイプを記述することが必要です。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="jp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>sample</title>
<style type="text/css">
<!--
div {
height:100%;
background:#f00;
}
-->
</style>
</head>
<body>
<div>text</div>
</body>
</html>
確認してみてください。上記のソースでは div は 100% の高さになりません。
要素の height を百分率で指定すると、そのサイズというのは親要素の height から算出されます。上記のソースの場合、 div の親要素は body です。body の height の初期値は auto ですので→ auto の 100% → つまりは auto となってしまうのです。ですので、div の高さを 100% にしたいならば、 body 、さらにはその親要素である html にそれぞれ height:100% を指定してやる必要があるのです。
上記のソースのスタイルシートに以下の記述を追加してみてください。
html,body {
margin:0;
height:100%;
}
これでようやく div の高さが意図した通りになりました。
とにかく、互換モードで表示させている CSS の挙動がおかしい場合、いくら CSS 解説サイトなどを見ても解決できないことが多いです(解説サイトさんは CSS の本来の仕様に基づく解説をしている訳ですから当然ですね)
まずは正しい書式で html を記述する癖をつけた方が、今後の為にも役立つと思いますよ。
この回答への補足
情報量不足ですみません。
>div の高さを 100% にしたいならば、 body 、さらにはその親要素である html にそれぞれ height:100% を指定してやる必要があるのです。
これ前提でのお話です。
No.2ベストアンサー
- 回答日時:
>これ前提でのお話です。
だとしたら、仮に div 要素の position 属性が absolute でもなんでも普通に上から下まで表示される筈ですが?(たとえリサイズしようとも)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="jp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>sample</title>
<style type="text/css">
<!--
html,body {
margin:0;
height:100%;
}
div {
height:100%;
background:#f00;
position:absolute;
}
-->
</style>
</head>
<body>
<div>text</div>
</body>
</html>
上記のソースで代表的な4つのレンダリングエンジンを搭載した各ブラウザ(Firefox 3.6、IE8、Opera 10、Safari 4.0)で確認済みです。一体どんな素敵ブラウザをご利用なさっているのでしょう?
埒が明かないので、その上手く表示できないソースを(環境も含め)提示したほうが具体的なアドバイスを得られやすいかと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- HTML・CSS 吹き出し 下記の吹き出しのスタイルシートについて 下記のスタイルシートは左側にアイコンがでる使用にな 1 2022/11/12 17:55
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- HTML・CSS HTML、cssのatomつぅーやつで 課題Ex1ってやつを表示させたいのですが、 私は課題Ex1が 2 2022/12/15 16:56
- その他(プログラミング・Web制作) Pythonにおける物理のシミュレーションでの単位変換について 2 2023/06/02 17:11
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
bodyにidをつける理由は何ですか?
-
(Javascript)印刷するファイル...
-
【HTML】フレームの中央寄せに...
-
iframeのsrcにページ内リンク(...
-
テキストボックス内にハイパー...
-
テキストをクリックすると答え...
-
googleマイマップとのリンクを...
-
htmlで任意の行の文字位置を右...
-
divやiframeの読み込み時バグ @...
-
bodyにwidth:100%をつける理由は?
-
<NOSCRIPT>
-
wordpressでアコーディオンメニ...
-
スクロールバーのスクロール量...
-
<a href="#" …>の意味を教えて...
-
別ファイルのfunctionの読み込み方
-
複数のJavascriptを1つのscrip...
-
base64encodeでの文字化けについて
-
入力したテキストボックスのデ...
-
ウインドウの後ろに隠れている...
-
JavaScriptでiframeの内容を「...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
bodyにidをつける理由は何ですか?
-
テキストボックス内にハイパー...
-
(Javascript)印刷するファイル...
-
ハイパーリンクに下線を表示す...
-
別ページのページ内リンクでの...
-
横スクロールを右から左へ・・・
-
bodyにwidth:100%をつける理由は?
-
ボタンが押されたらWebページの...
-
テーブル内の数値を自動で計算...
-
"mailtoでメールの【氏名】【性...
-
ページの読み込みが完了してか...
-
テキストをクリックすると答え...
-
インラインフレーム内のスクロ...
-
<body id=~>の用途は?
-
複数のiframeの読み込みについて
-
Chromeがiframe内の「#~」に釣...
-
-css- ページオープン時やリロ...
-
ページによって表示位置がずれ...
-
<HR>タグでつくる四角形につい...
-
リンクをクリックすると文字が...
おすすめ情報