これを行うために私が見つけた最も互換性のある方法は、あまり明白ではありません。2番目の列からフロートを削除して適用する必要がありますoverflow:hidden
。これにより、divの外にあるコンテンツはすべて非表示になっているように見えますが、実際には、divが親の内部に留まるように強制されます。
あなたのコードを使用して、これはそれがどのように行われることができるかの例です:
<div style="width: 100px; float: left;">menu</div>
<div style="overflow: hidden;">content</div>
これがこの問題を抱えているすべての人に役立つことを願っていますが、他の解像度に調整するように試みた後、私が構築しているサイトに最適に機能することがわかりました。残念ながら、div
コンテンツの後に右フローティングを含めると、これは機能しません。それを機能させるための適切な方法を知っている人がいて、IEとの互換性が良好であれば、私はそれを聞いてとても幸せです。
新しい、より良いオプションを使用して display: flex;
Flexboxモデルはかなり広く実装されているのでflex
、レイアウトをより使いやすくするため、実際にはFlexboxモデルを使用することをお勧めします。オリジナルのような単純な2列です。
<div style="display: flex;">
<div style="width: 100px;">menu</div>
<div style="flex: 1;">content</div>
</div>
そして、これは、幅が可変の中央列を持つ3列です!
<div style="display: flex;">
<div style="width: 100px;">menu</div>
<div style="flex:1;">content</div>
<div style="width: 100px;">sidebar</div>
</div>