HTML:
<div class="conteneur">
<div class="gauche">Largeur fixe</div>
<div class="droite">Largeur adaptative</div>
</div>
Méthode 1 : Utilisation de flottants
Le div gauche est flottant, permettant au div droit d'occuper automatiquement le reste de l'espace.
.conteneur {
width: 100%;
height: 500px;
background-color: jaune;
}
.gauche {
width: 250px;
height: 200px;
background-color: rouge;
float: left;
}
.droite {
height: 200px;
background-color: bleu;
}
Méthode 2 : Positionnement absolu
Le div droit utilise un positionnement absolu avec les paramètres left et right pourr s'adapter.
.conteneur {
width: 100%;
height: 500px;
background-color: jaune;
position: relative;
}
.gauche {
width: 250px;
height: 200px;
background-color: rouge;
}
.droite {
height: 200px;
background-color: bleu;
position: absolute;
left: 250px;
top: 0;
right: 0;
}
Méthode 3 : Marges relatives
Le div gauche est posiitonné absolu, le div droit utilise une marge gauche pour s'aligner.
.conteneur {
width: 100%;
height: 500px;
background-color: jaune;
position: relative;
}
.gauche {
width: 250px;
height: 200px;
background-color: rouge;
position: absolute;
}
.droite {
height: 200px;
background-color: bleu;
margin-left: 250px;
}
Méthode 4 : Flexbox
Utilisation du layout flex pour créer une dispostiion flexible.
.conteneur {
width: 100%;
height: 500px;
background-color: jaune;
display: flex;
flex-direction: row;
}
.gauche {
width: 250px;
height: 200px;
background-color: rouge;
}
.droite {
height: 200px;
background-color: bleu;
flex: 1;
}
- Mise en page fluide
HTML:
<div class="boite">
<div class="colonneGauche"></div>
<div class="colonneDroite"></div>
<div class="contenuPrincipal"></div>
</div>
.boite {
border: 1px solid noir;
margin-top: 24px;
margin: 24px 12px;
}
.colonneGauche {
float: left;
width: 100px;
height: 200px;
background-color: rouge;
}
.colonneDroite {
float: right;
width: 200px;
height: 200px;
background-color: jaune;
}
.contenuPrincipal {
margin-left: 120px;
margin-right: 220px;
height: 200px;
background: vert;
}
- Mise en page Saint-Grail
Méthode 1 : Positionnement absolu
Utilisation de padding et de positionnement absolu pour aligner les éléments.
.conteneur {
height: 400px;
background-color: aqua;
position: relative;
padding: 0 250px;
margin-top: 20px;
}
.colonneGauche,
.colonneDroite {
width: 250px;
height: 300px;
background-color: jaune;
position: absolute;
top: 0;
}
.colonneGauche {
left: 0;
}
.colonneDroite {
right: 0;
}
.contenuPrincipal {
background-color: violet;
height: 350px;
}
Méthode 2 : Flexbox
Utilisation du layout flex pour structurer les colonnes.
.conteneur {
height: 500px;
background-color: rose;
display: flex;
}
.colonneGauche {
width: 250px;
height: 400px;
background-color: bleu;
}
.colonneDroite {
width: 250px;
height: 400px;
background-color: bleu;
}
.contenuPrincipal {
flex: 1;
height: 450px;
background-color: vert;
}
Méthode 3 : Contexte BFC
Utilisation de flottants et d'un overflow pour gérer la mise en page.
.conteneur {
height: 500px;
background-color: rose;
}
.colonneGauche {
float: left;
width: 250px;
height: 400px;
background-color: bleu;
}
.colonneDroite {
float: right;
width: 250px;
height: 400px;
background-color: bleu;
}
.contenuPrincipal {
height: 450px;
background-color: vert;
overflow: hidden;
}
- Mise en page Double-Fly
HTML:
<div class="contenu">
<div class="principal"></div>
</div>
<div class="colonneGauche"></div>
<div class="colonneDroite"></div>
.contenu {
float: left;
width: 100%;
}
.principal {
height: 200px;
margin-left: 120px;
margin-right: 250px;
background: vert;
}
.principal::after {
content: '';
display: block;
font-size: 0;
height: 0;
zoom: 1;
clear: both;
}
.colonneGauche {
float: left;
height: 200px;
width: 100px;
margin-left: -100%;
background: rouge;
}
.colonneDroite {
float: right;
height: 200px;
width: 250px;
margin-left: -250px;
background: bleu;
}