Найбільш сумісний спосіб, який я знайшов робити це, не дуже очевидний. Потрібно вийняти поплавок з другого стовпця і застосувати overflow:hidden
до нього. Хоча це, здається, приховує будь-який вміст, що виходить за межі діва, це насправді змушує діву залишитися в межах його батьків.
Використовуючи свій код, це приклад того, як це можна зробити:
<div style="width: 100px; float: left;">menu</div>
<div style="overflow: hidden;">content</div>
Сподіваюсь, це корисно для всіх, хто має цю проблему, саме те, що я вважав, працює найкраще для сайту, який я будував, після спроби змусити його адаптуватись до інших резолюцій. На жаль, це не спрацьовує, якщо ви також додасте div
право вміст після вмісту, якщо хтось знає хороший спосіб змусити його працювати, з хорошою сумісністю IE, я б дуже радий почути це.
Новий, кращий варіант використання display: flex;
Тепер, коли модель Flexbox досить широко впроваджена, я фактично рекомендую використовувати її замість цього, оскільки вона дозволяє набагато більше flex
здібностей з компонуванням. Ось простий двоколонний на зразок оригіналу:
<div style="display: flex;">
<div style="width: 100px;">menu</div>
<div style="flex: 1;">content</div>
</div>
А ось триколонка з центральною колоною з гнучким шириною!
<div style="display: flex;">
<div style="width: 100px;">menu</div>
<div style="flex:1;">content</div>
<div style="width: 100px;">sidebar</div>
</div>