Aktuelle Lösung (Oktober 2014): Bereit für flüssige Layouts
Einführung:
Diese Lösung ist noch einfacher als die von Leigh. Es basiert tatsächlich darauf.
Hier können Sie feststellen , dass das mittlere Element (in unserem Fall mit "content__middle"Klasse) ist nicht jede dimensionale Eigenschaft angegeben hat - keine Breite, noch Polsterung, noch Spielraum ähnliche Eigenschaft überhaupt - aber nur ein overflow: auto;(siehe Anmerkung 1).
Der große Vorteil ist, dass Siemax-widthmin-width jetzt ein und ein für Ihre linken und rechten Elemente angeben können . Das ist fantastisch für Fluid - Layout .. daher ansprechendes Layout :-)
Anmerkung 1: Versus Leighs Antwort, bei der Sie der Klasse die margin-left& margin-right-Eigenschaften hinzufügen müssen "content__middle".
Code mit nicht fließendem Layout:
Hier haben die linken und rechten Elemente (mit Klassen "content__left"und "content__right") eine feste Breite (in Pixel): daher als nicht fließendes Layout bezeichnet.
Live-Demo auf http://jsbin.com/qukocefudusu/1/edit?html,css,output
<style>
/*
* [1] & [3] "floats" makes the 2 divs align themselves respectively right & left
* [2] "overflow: auto;" makes this div take the remaining width
*/
.content {
width: 100%;
}
.content__left {
width: 100px;
float: left; /* [1] */
background-color: #fcc;
}
.content__middle {
background-color: #cfc;
overflow: auto; /* [2] */
}
.content__right {
width: 100px;
float: right; /* [3] */
background-color: #ccf;
}
</style>
<div class="content">
<div class="content__left">
left div<br/>left div<br/>left div<br/>left div<br/>left div<br/>left div<br/>
</div>
<div class="content__right">
right div<br/>right div<br/>right div<br/>right div<br/>
</div>
<div class="content__middle">
middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br />bit taller
</div>
</div>
Code mit flüssigem Layout:
Hier haben die linken und rechten Elemente (mit Klassen "content__left"und "content__right") eine variable Breite (in Prozent), aber auch eine minimale und maximale Breite: daher als fließendes Layout bezeichnet.
Live-Demo in einem fließenden Layout mit den max-widthEigenschaften http://jsbin.com/runahoremuwu/1/edit?html,css,output
<style>
/*
* [1] & [3] "floats" makes the 2 divs align themselves respectively right & left
* [2] "overflow: auto;" makes this div take the remaining width
*/
.content {
width: 100%;
}
.content__left {
width: 20%;
max-width: 170px;
min-width: 40px;
float: left; /* [1] */
background-color: #fcc;
}
.content__middle {
background-color: #cfc;
overflow: auto; /* [2] */
}
.content__right {
width: 20%;
max-width: 250px;
min-width: 80px;
float: right; /* [3] */
background-color: #ccf;
}
</style>
<div class="content">
<div class="content__left">
max-width of 170px & min-width of 40px<br />left div<br/>left div<br/>left div<br/>left div<br/>left div<br/>left div<br/>
</div>
<div class="content__right">
max-width of 250px & min-width of 80px<br />right div<br/>right div<br/>right div<br/>right div<br/>
</div>
<div class="content__middle">
middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br/>middle div<br />bit taller
</div>
</div>
Browser-Unterstützung
Getestet auf BrowserStack.com in den folgenden Webbrowsern:
- IE7 bis IE11
- Ff 20, Ff 28
- Safari 4.0 (Windows XP), Safari 5.1 (Windows XP)
- Chrome 20, Chrome 25, Chrome 30, Chrome 33,
- Oper 20