Das Problem, das ich bei der Antwort von Boushley festgestellt habe, ist, dass die rechte Spalte, wenn sie länger ist als die linke, einfach um die linke herumgezogen wird und wieder den gesamten Platz ausfüllt. Das ist nicht das Verhalten, nach dem ich gesucht habe. Nachdem ich mich durch viele "Lösungen" gewühlt hatte, fand ich ein Tutorial (der Link ist jetzt tot) über die Erstellung dreispaltiger Seiten.
Der Autor bietet drei verschiedene Möglichkeiten an, eine mit fester Breite, eine mit drei variablen Spalten und eine mit festen äußeren Spalten und einer variablen Breite in der Mitte. Viel eleganter und effektiver als andere Beispiele, die ich gefunden habe. Hat mein Verständnis von CSS-Layout deutlich verbessert.
Im obigen einfachen Fall sollten Sie die erste Spalte nach links verschieben und ihr eine feste Breite geben. Dann geben Sie der Spalte rechts einen linken Rand, der etwas breiter ist als die erste Spalte. Das war's. Das war's. Ala Boushley's Code:
Hier ist eine Demo in Stapel-Schnipsel & jsFiddle
#left {
float: left;
width: 180px;
}
#right {
margin-left: 180px;
}
/* just to highlight divs for example*/
#left { background-color: pink; }
#right { background-color: lightgreen;}
<div id="left"> left </div>
<div id="right"> right </div>
Im Beispiel von Boushley hält die linke Spalte die andere Spalte auf der rechten Seite. Sobald die linke Spalte endet, füllt die rechte wieder den gesamten Raum aus. Hier wird die rechte Spalte einfach weiter in die Seite hineingeschoben, und die linke Spalte nimmt ihren fetten Rand ein. Es sind keine fließenden Interaktionen erforderlich.