Najbardziej kompatybilny sposób, jaki znalazłem, nie jest oczywisty. Musisz usunąć pływak z drugiej kolumny i nałożyć overflow:hidden
na niego. Chociaż wydaje się, że ukrywa to zawartość wychodzącą poza element div, w rzeczywistości zmusza go do pozostania w swoim rodzicu.
Używając Twojego kodu, oto przykład, jak można to zrobić:
<div style="width: 100px; float: left;">menu</div>
<div style="overflow: hidden;">content</div>
Mam nadzieję, że przydaje się to każdemu, kto ma ten problem, uważam, że działa najlepiej w witrynie, którą budowałem, po próbie dostosowania jej do innych rozdzielczości. Niestety, to nie zadziała, jeśli dołączysz również prawy element zmienny div
po treści, jeśli ktoś zna dobry sposób na to, aby to zadziałało, z dobrą kompatybilnością z IE, byłbym bardzo szczęśliwy, mogąc to usłyszeć.
Nowa, lepsza opcja przy użyciu display: flex;
Teraz, gdy model Flexbox jest dość szeroko wdrożony, w rzeczywistości zalecałbym jego użycie, ponieważ pozwala na znacznie większą flex
elastyczność z układem. Oto prosta dwukolumnowa wersja, taka jak oryginał:
<div style="display: flex;">
<div style="width: 100px;">menu</div>
<div style="flex: 1;">content</div>
</div>
A oto trzy kolumny ze środkową kolumną o zmiennej szerokości!
<div style="display: flex;">
<div style="width: 100px;">menu</div>
<div style="flex:1;">content</div>
<div style="width: 100px;">sidebar</div>
</div>