Самый кросс-совместимый способ, который я когда-либо делал, не очень очевиден. Вам необходимо удалить число из второго столбца и применить к нему overflow:hidden
. Хотя может показаться, что это скрывает любой контент, выходящий за пределы div, он фактически заставляет div оставаться в пределах его родителя.
Используя ваш код, это пример того, как это можно сделать:
<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>