La mise à jour de la solution (octobre 2014) : prêt pour les dispositions fluides
Introduction:
Cette solution est encore plus simple que celui fourni par Leigh
. Il est en fait basé sur elle.
Ici vous pouvez remarquer que le milieu de l'élément (dans notre cas, avec "content__middle"
de la classe) ne pas avoir toutes les dimensions de la propriété spécifiée - ni largeur, ni rembourrage, ni de marge de propriété liés à tous - mais seulement un overflow: auto;
(voir la note 1).
Le grand avantage est que maintenant vous pouvez spécifier un max-width
et min-width
à votre gauche et à droite des éléments. Ce qui est fantastique pour les dispositions fluides.. donc sensible mise en page :-)
note 1: rapport Leigh réponse où vous devez ajouter l' margin-left
& margin-right
propriétés de l' "content__middle"
classe.
Code non-liquide de mise en page:
Ici, la gauche et la droite des éléments (avec des classes "content__left"
et "content__right"
) ont une largeur fixe (en pixels): d'où qu'on appelle les non-liquide de mise en page.
Démonstration en direct sur http://jsbin.com/qukocefudusu/1/edit?html,css,sortie
<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 de fluide mise en page:
Ici, la gauche et la droite des éléments (avec des classes "content__left"
et "content__right"
) ont une largeur variable (en pourcentages), mais aussi un minimum et maximum largeur: ainsi appelé fluide de mise en page.
Démonstration en direct dans un design fluide avec l' max-width
propriétés http://jsbin.com/runahoremuwu/1/edit?html,css,sortie
<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>
Prise En Charge Du Navigateur
Testé sur BrowserStack.com sur les navigateurs web suivants:
- IE7 à IE11
- Ff 20, 28 Ff
- Safari 4.0 (windows XP), Safari 5.1 (windows XP)
- Chrome 20, Chrome 25, Chrome 30, Chrome 33,
- L'opéra de 20