2016-12-27 9 views
-2

https://jsfiddle.net/z3fhtbq9/cssでどのように測位が機能しますか?

私は、上記のフィドルが、体の上から下に赤色の背景色を表示することを期待しています。しかし、そうではありません。なぜですか?

<div style="background-color:red;position:relative;top:0px;bottom:0px;"> 

+0

....最小限の例? –

+0

https://jsfiddle.net/z3fhtbq9/11/ https://jsfiddle.net/z3fhtbq9/9/ 2つのフィドルズを確認してください。なぜ最初のフィドルに背景が表示されないのですか。 –

+0

こんにちは、どうですか? –

答えて

0

divのサイズ(高さ幅)を追加します。..それは

<div style="height: 100vh;background-color:red;position:relative;top:0px;bottom:0px;"> 
</div> 

div要素は、高さ0と幅0を持っていた動作します(幅は常に同じであった)理由は何thatsのありません変化が観察された。あなたが何らかのテキストのようにdivの中に何かを追加したか、単に高さの幅を与えた場合、それはうまくいっていた可能性があります。

ここで100vhは、デバイスが持つビューポートの高さが常に100%になることを意味します。

絶対配置の要素は他の要素の影響を受けません 他の要素には影響しません。基本的には他の要素によって影響されません だから、100%のvhはそれで動かない。それは、フルサイズの比較的位置付けられたdivに入れた場合、 を動作させます。絶対に 配置要素は、最も近い配置先の 祖先(非静的)に相対的に配置されます。

+0

'width'は100%で、' height'は何もありませんでした。 – deceze

+0

@deceze:はい正確に..答えを編集させてください...ちょうど急いで答えました。 – coderredoc

+0

実際に与えられたポジションの使用は何ですか?relative top:0 bottom:0ここで?自動的に右に伸びますか? –

0

私は配置とは関係ありませんが、このdivでボディを塗りつぶすには、要素の幅と高さを設定する必要があります。あなたは、CSSに設定することができます。

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

、あなたはこのように、幅と高さが100%を追加するには、divのスタイルに:

<div style="width:100%; height:100%; background-color:red;position:relative;top:0px;bottom:0px;"></div> 

それとも、単に身体のdivの上に赤い背景のスタイルを置くことができます。

+0

相対的な要素の相対的な位置は "相対的"です。トップ50pxで相対的な位置に配置されると、通常は配置される場所から50pxの位置に配置されます。これが真の場合、私の場合、ポジション相対、トップ位置およびボトム位置を0にしています。しかし、それは起こっていない。なぜ? –

+0

以下のフィドルを確認してくださいhttps://jsfiddle.net/z3fhtbq9/9/どのように全体の背景色を表示していますか? –

関連する問題