2013-09-06 15 views
17

私はどこにでも見てきました。 まだ、非常に "基本的な"アイデアのサンプルコードはありません:ウィンドウの幅/高さを変更するときのdivの自動サイズ変更

画面サイズの90%を占めるdivで、ブラウザサイズが変わるたびに調整されます相対画面)

その内部のネストされたdiv要素が同様のサイズそのものを再必要があります。..

はそれも可能ですか?

編集:私は縦のサイズに画面を再しようとすると、

幅の90%が機能していません。

+0

あなたはcssを使用してwidthプロパティを90%に設定することを意味しますか?プロパティ値の下にhttp://www.w3schools.com/cssref/pr_dim_width.asp – Huangism

+0

可能... – Tomzan

+1

'

' – tomaroo

答えて

9

このシナリオでは、外側の<div>の幅と高さは90%です。内側のdiv>の幅は親の100%です。ウィンドウの大きさを変更すると、両方とも拡大縮小されます。

HTML

<div> 
    <div>Hello there</div> 
</div> 

CSS

html, body { 
    width: 100%; 
    height: 100%; 
} 

body > div { 
    width: 90%; 
    height: 100%; 
    background: green; 
} 

body > div > div { 
    width: 100%; 
    background: red; 
} 

デモ

Try before buy

+1

これはあなたが知っているだけでは機能しません。 – spencerthayer

+2

@spencerthayerどういう意味ですか、うまくいきませんか?ブラウザは、ウィンドウの縦または横のサイズを変更するときに、コンテナの幅を90%と高さに設定します。内部のコンテナは、親によって与えられる限り、できるだけ多くのスペースを占有します。 – insertusernamehere

+0

すべて正常に動作します。 – theoretisch

29

vh属性を使用します。ビューポートの高さを意味し、パーセンテージです。高さ:90vhはビューポートの高さの90%を意味します。これはほとんどの現代のブラウザで動作します。

例:

div { 
    height: 90vh; 
} 

あなたの愚かな100%ものを体に残すことはできません。

ヘッダーがある場合は、CSSのcalc関数を使用して考慮してください。

例:

div { 
    height: calc(100vh - 50px); 
} 

これは、ビューポートの高さの100%からヘッダーの50pxを引いたものです。

+1

これは完全に私のために働いた、ありがとう!このメソッドが古いブラウザの互換性の問題に対応しているかどうかは分かりますか?特にIE? – straubcreative

+0

私はIE9 +がうまくいくと思います。 http://caniuse.com/#search=vh –

+1

幅を動的に変更したい場合はどうすればよいですか? –

関連する問題