これは非常に一般的なシナリオです。CSS floatがページの拡大を防ぐ
私は比較的新しい(CSSは意図されていません)、CSSの新機能で、浮動小数点整列に問題があります。私は2つのdiv
を持っています.1つは、メインコンテンツを浮動させるために、left
ともう1つはナビゲーションのために浮かべてください。right
。
とにかく、私はがにCSSフォーマットを適用しないとどうなりますか?これは望ましい動作です。期待通りにページがスクロールダウンします:
Desired behavior
ここで私は各要素にfloat: left
またはfloat: right
を適用するときに何が起こるかです:
Undesired page overflow
彼らは両方のページ過去のオーバーフロー。私はそれが1つの画面領域に収まらない場合、それが下にスクロールするようにページを伸ばしたい。
私のHTMLのスニペット:
<body>
<div id="wrapper">
<div id="header"></div>
<div id="content">
<div id="main">
<p>Lorem ipsum [...snip...]</p>
</div>
<div id="secondary">
<p>Lorem ipsum [...snip...]</p>
</div>
</div>
<div id="footer">©</div>
</div>
</body>
と、対応するCSS:
#content {
padding:10px;
padding-top: 110px;
padding-bottom:60px; /* Height of the footer */
}
#main {
padding: 10px;
float: left;
width:70%;
text-align:left;
}
#secondary {
padding: 10px;
float: right;
width:20%;
}
は、なぜそれがこれをやっている、と私はそれをどのように修正することができますか?
をしてくださいクリアに近いので
を使用し助言する、、、このメソッドを使用しないでくださいしてください!不要なdivでマークアップを膨らませる理由はありません。 –
downvoteに感謝します。それぞれ自分自身に。私はオーバーフローが好きではありません:相対的な位置に問題を引き起こす可能性があるため隠されています。:after型の修正では、マークアップとブラウザ固有のより複雑な規則が必要です。 –
私は
を見ると、私は絶対に嫌なので、私は下降しました。それは乱雑なコードなので、それは今までにやってはいけません。常に別の解決策があります。 –