Blog

※ブログ移転しました。 → hamashun.me

height:100%で画面全体に表示させる方法

今日は、CSSのテクニック的な事を書こうと思います。
ネタはたくさんあるのですけど、いざWebに公開するとなると中々勇気が持てなくて、これまで余りそういった事は書きませんでした。
でもそれじゃあ折角Blogを公開している意味が無いので、今日からモリモリ書こうと思います。 へっぽこですけど、どうぞお付き合いください。

CSSを始めた頃によくある間違いで、heightに100%を指定しても反映されない、という物があります。
それは大抵の場合、


div {
	height:100%;
	border:dotted 2px #666666;
}

<div>100%になるかな?</div>

と、このような記述をしていると思います(サンプル)。
CSSの仕様として、heightを%で指定する際は、親要素のheightを基準にする、という流れになっています。
そしてheightの初期値はautoであり、autoの高さは、内容に依存します。
つまり、上記の記述では、一行分のheightしか表示されない事になります。
一方で正解は、


html,body { height:100%; }
div {
	height:100%;
	border:dotted 2px #666666;
}

<div>100%になりました!</div>

こうなります(サンプル)。
最親要素であるhtmlと、bodyからheightを指定しておく事が必要です。

8 Comment

なるほど!

Name:匿名 | 2011年04月04日 18:42

死ぬほど助かりました;;
数時間奮闘してたんですが、bodyにはやっていたんですがhtmlにも必要とは思いつきませんでした・・・。

Name:ηёο | 2011年08月13日 00:40

いやー
早くこの記事にめぐり合いたかった。

Name:匿名 | 2012年01月22日 02:31

ずっと気になってたが、それでも何とか目測pxでごまかしてた(汗
こういう、基礎的でありながら見落としがちなことって案外記事として挙がってないんですよね。大変助かりました。感謝x2

Name:匿名 | 2012年06月08日 09:48

こちらのほうが、more better ですよ~

html,body{
height:100%;}

#wrapper{
height:100%;
min-height:100%;}

body > #wrapper{
height:auto;}

Name:通りすがり | 2012年06月19日 20:18

ダメですね。

効きません。

虚偽の記事です。

Name:通りすがり | 2013年10月29日 18:04

ありがとうございます!!

htmlってcssと無関係だと思ってた私がはずかしいww

Name:うひょ | 2013年12月19日 22:54

さすがです!!

Name:のぶちょ | 2014年05月01日 09:13

Contribution Form

Blog Search
Search
Recent Entry
Category
Monthly Archive