/ / Div de fluide de centrage ayant la largeur max - centrage, mise en page fluide, css

Centrage du fluide div ayant la largeur maximale - centrage, disposition des fluides, css

J'essaie de centrer mon contenu div. Il est défini sur 100% et la div est contenue dans body, qui est également défini sur 100%. J'ai une largeur maximale: 1400 pixels car je ne veux pas que mon contenu s’étire davantage que celui-ci si la résolution de l’écran est plus haute. Le problème est que cela ne fonctionne pas avec margin: auto. Mon contenu est affiché à gauche, non centré sur un écran plus large que 1 400 pixels.

Si je supprime la largeur maximale, tout est parfaitement centré sur les écrans larges, mais le contenu est étendu sur tout l'écran ...

#content {
width: 100%;
height: auto;
position: absolute;
top: 400px;
margin: 0 auto;
margin-top: 50px;
display: none;
max-width: 1400px;

}

Réponses:

6 pour la réponse № 1

Le moyen le plus simple pour y parvenir est de définir le width propriété à la largeur maximale dont vous avez besoin, et ajoutez max-width: 100%;. Cela l'empêchera d'être supérieur à 100% tout en allant jusqu'à la largeur maximale. En outre, vous devriez retirer le absolute positionnement:

JS Fiddle


0 pour la réponse № 2

Utilisez Flexbox ...

Placez ces classes dans l'élément parent (le corps):

Le HTML

<body class="p-flexbox flex-hcc">
<!-- The content -->
</body>

Où:

  1. p-flexbox veux dire parent-flexbox
  2. flex-hcc veux dire flexbox-horizontal-center-center

Le CSS

.p-flexbox {
display: -webkit-box;
display: -moz-box;
display: box;
}

.flex-hcc {

-webkit-box-orient: horizontal;
-webkit-box-pack: center;
-webkit-box-align: center;

-moz-box-orient: horizontal;
-moz-box-pack: center;
-moz-box-align: center;

box-orient: horizontal;
box-pack: center;
box-align: center;

}

À votre santé, Leonardo


0 pour la réponse № 3

Vous pouvez utiliser le transform technique, qui ne nécessite pas de requêtes supplémentaires de balisage ou de support.

#content {
position: relative;  /* "fixed" will work also. */
max-width: 500px;    /* Your required width here. */
width: 100%;
left: 50%;
transform: translateX(-50%);
}

Voici une démo https://jsfiddle.net/matharden/6uduf7av/