Comment aligner trois divs (gauche/centre/droite) en un seul div ?
P粉092778585
2023-08-21 15:09:18
<p>Je souhaite aligner 3 divs à l'intérieur d'un div conteneur, comme ceci : </p>
<pre class="brush:php;toolbar:false;">[[GAUCHE] [CENTRE] [DROITE]]</pre>
<p>La largeur du div du conteneur est de 100 % (aucune largeur n'est définie) et le div du milieu doit rester au milieu après le redimensionnement du conteneur. </p>
<p>J'ai donc défini : </p>
<pre class="lang-css Prettyprint-override"><code>#container{width:100%;}
#gauche{float:gauche;largeur:100px;}
#right{float:right;width:100px;}
#center{margin:0 auto;width:100px;}
</code></pre>
<p>Mais le résultat est devenu : </p>
<pre class="brush:php;toolbar:false;">[[LEFT] [CENTER] ]
[DROITE]</pre>
<p>Des suggestions ? </p>
Alignez trois divs horizontalement à l'aide de Flexbox
Il s'agit d'une manière CSS3 d'aligner horizontalement un div dans un autre div.
jsFiddle
L'attributjustify-content a cinq valeurs :
Dans tous les cas, les trois divs sont sur la même ligne. Pour une description de chaque valeur, voir : https://stackoverflow.com/a/33856609/3597276
Avantages de la flexbox :
En savoir plus sur flexbox :
Prise en charge des navigateurs : Flexbox est pris en charge par tous les principaux navigateurs, sauf IE < Certaines versions récentes du navigateur, telles que Safari 8 et IE10, nécessitent le préfixe du fournisseur. Pour ajouter rapidement un préfixe, utilisez Autoprefixer. Voir cette réponse pour plus de détails.
À l'aide de ce CSS, placez votre div comme suit (float en premier) :
PS : Vous pouvez également faire flotter d'abord la droite, puis la gauche, puis le centre. Il est important que le contenu flottant vienne avant la section centrale « principale ».
Remarque : Habituellement, vous souhaiterez le positionner à la hauteur de
#container
中的最后加入这段代码:<div style="clear:both;"></div>
,它会使#container
的高度垂直延伸,以容纳两侧的浮动内容,而不仅仅是从#center
pour éviter que le contenu des deux côtés ne déborde vers le bas.