CSS HTML - DIV-Höhe füllen verbleibenden Platz
Also ich habe ein layout wie diese:
CSS:
div {
border: 1px solid
}
HTML:
<div id="col_1" style="float:left;width:150px;">1</div>
<div id="col_2" style="float:left;width:100px;">2</div>
<div id="col_3" style="float:left;width:<REMAINING_WIDTH>;">3</div>
col_1 und col_2 dauern, bis eine Feste Menge an Speicherplatz. Ich will die Dritte Spalte zu nehmen den rest mit. Was ist der beste Weg, dies zu tun dies erreichen?
- Danke, ich werde versuchen, alle Antworten.
- Nicht Sie waren nur zu Fragen, über die Höhe statt Breite?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte man etwas verrücktes tun, verlassen die javascript-und die nicht-ganz-ready-for-prime-time mit CSS3 Zeug und benutzen Sie die absolute Positionierung.
Sehen dieses jsfiddle.
Bonus-Punkte für Verhalten gut durch den browser, ändert sich die Größe auch.
CSS:
HTML:
Javascript benötigt wird. Wenn Sie möchten, dass alle 3 divs zu füllen, bis die Fenster-Speicherplatz (100%), dann müssen wir, javascript zu verwenden, um zu erkennen, wie viel Platz ist Links und weisen Sie die Höhe von col_3 entsprechend. Mit jQuery können Sie tun
Haben Sie bereits akzeptiert eine Antwort, aber Sie könnte prüfen, CSS Flexbox, die ausgelegt ist, lösen genau dieses problem, ohne sich auf "float:left" hacks. Es funktioniert in Chrome, Safari und FF (mit -webkit-und -moz-Präfixe). Nicht auf IE noch.
Hier einige quick-links:
http://hacks.mozilla.org/2010/04/the-css-3-flexible-box-model/
http://www.terrainformatica.com/w3/flex-layout/flex-layout.htm
http://www.w3.org/TR/css3-flexbox/
Müssen Sie einen block formatting context:
es ist der überlauf, der macht es arbeiten. Mehr info: http://www.w3.org/TR/CSS2/visuren.html#block-formatting
Hier ist somthing ich dachte über die Verwendung von etwas CSS. ich habe es getestet in FF12, GC18, SAF5.1 & IE 7,8,9,9 CV.
CSS:
HTML:
Entweder mit jQuery zu berechnen, die restlichen Raum, oder verwenden Sie das css3 flexible box zu füllen den verbleibenden Raum:
http://www.html5rocks.com/tutorials/flexbox/quick/
diagram2 ist der Fall Sie wollen - das Letzte Feld mit maximal '-box-flex' wird, nehmen die verbleibenden Raum (Standard-box-flex "0")
Wenn das Ziel von den meisten neueren Browsern können Sie die HTML5 -
calc
FunktionCSS:
HTML:
nehmen Sie die Breite, und es sollte zu erweitern, um alles. setzen width:100%, wenn Sie möchten. sollten Sie aus der firebug-plugin für firefox.
Setzen alle drei DIVS in einem container geben, col 1 und 2 festen breiten und legen Sie das 3. auto ein.