2012-02-08 10 views
0
<html> 
    <body> 
     <div class="fixed-top-bar" style="position:fixed"></div> 
     <div class="content" style="position:static"></div> 
    </body> 
</html> 

私のブラウザでは、両方のdivはブラウザの左上から始まります。放火犯でCss固定ボックスの配置に関する問題

、私は両方のDIVを設定「表示:ブロック」ので、各DIV要素は、空間の行を取るべきです。 なぜ左上にスタックが表示されますか?どうすれば正常に見えるのですか?

答えて

4

position: fixedを適用すると、要素がページの自然な流れから引き出されます。これにより、他のすべての要素がその要素の位置を無視します。静的なdivが固定divの下にあるのはこのためです。

固定されたdivの位置は、この場合はbodyの親要素に関連しています。 lefttoprightbottomポジションデータは与えられていないので、ちょうどtop: 0; left: 0;のように振る舞い、スタティックdivが正確に同じ位置になります。

この問題を解決するには、固定番号divが高い場合は、padding-topと同じ額をbodyに追加するだけです。

あなたがここにこの詳細については読むことができます:あなたはそれをdisplay: blockを与えるだろうかのようにところでhttps://developer.mozilla.org/en/CSS/position

は、divは自然に振舞います。実際、それは唯一のデフォルトのスタイルです。 「position: fixed」について

+0

素晴らしいです、ありがとうpanspの答えも。 – user469652

1

:要素は、ブラウザウィンドウに対して位置決めされます。 これはdivの設定を無効にしています(display: block)。可能であれば、fixedから他の値に位置を変更すると、他の要素のルールに従います。

関連する問題