Que fait auto-on margin:0 auto;?
Je n'arrive pas à comprendre ce que autoça fait. Je sais que cela a parfois pour effet de centrer les objets. Merci.
Que fait auto-on margin:0 auto;?
Je n'arrive pas à comprendre ce que autoça fait. Je sais que cela a parfois pour effet de centrer les objets. Merci.
Réponses:
Lorsque vous avez spécifié un widthsur l'objet auquel vous avez postulé margin: 0 auto, l'objet sera placé au centre de son conteneur parent.
Spécifier autocomme second paramètre indique essentiellement au navigateur de déterminer automatiquement les marges gauche et droite lui-même, ce qu'il fait en les définissant de manière égale. Cela garantit que les marges gauche et droite seront définies à la même taille. Le premier paramètre 0 indique que les marges supérieure et inférieure seront toutes deux définies sur 0.
margin-top:0;
margin-bottom:0;
margin-left:auto;
margin-right:auto;
Par conséquent, pour vous donner un exemple , si le parent est 100px et l'enfant 50px, alors la autopropriété déterminera qu'il y a 50px d'espace libre à partager entre margin-leftet margin-right:
var freeSpace = 100 - 50;
var equalShare = freeSpace / 2;
Ce qui donnerait:
margin-left:25;
margin-right:25;
Jetez un œil à ce fichier jsFiddle . Vous n'avez pas à spécifier la largeur du parent, uniquement la largeur de l'objet enfant.
%? Je veux dire, y a-t-il une autre propriété en css qui peut donner le même résultat que gauche et droiteauto
margin:auto 0état?
À partir de la spécification CSS sur le calcul des largeurs et des marges pour les éléments non remplacés au niveau du bloc dans un flux normal :
Si «margin-left» et «margin-right» sont tous les deux «auto», leurs valeurs utilisées sont égales. Cela centre horizontalement l'élément par rapport aux bords du bloc conteneur.
margin:0 auto;
0est pour haut-bas et autopour gauche-droite. Cela signifie que les marges gauche et droite prendront une marge automatique en fonction de la largeur de l'élément et de la largeur du conteneur.
Généralement, si vous souhaitez placer un élément en position centrale, cela margin:autofonctionne parfaitement. Mais cela ne fonctionne que dans les éléments de bloc.
margin-top:0;
margin-bottom:0;
margin-left:auto;
margin-right:auto;
0 est pour haut-bas et auto pour gauche-droite. Le navigateur définit la marge.
Cela devient plus clair avec quelques explications sur le fonctionnement des deux valeurs.
La propriété margin est un raccourci pour:
margin-top
margin-right
margin-bottom
margin-left
Alors, comment se fait-il que deux valeurs?
Eh bien, vous pouvez exprimer la marge avec quatre valeurs comme celle-ci:
margin: 10px, 20px, 15px, 5px;
ce qui signifierait 10px en haut, 20px à droite, 15px en bas, 5px à gauche
De même, vous pouvez également exprimer avec deux valeurs comme celle-ci:
margin: 20px 10px;
Cela vous donnerait une marge de 20 px en haut et en bas et de 10 px à gauche et à droite.
Et si vous définissez:
margin: 20px auto;
Ensuite, cela signifie une marge supérieure et inférieure de 20 pixels et une marge gauche et droite d'auto. Et auto signifie que la marge gauche / droite est automatiquement définie en fonction du conteneur. Si votre élément est un élément de type bloc, c'est-à-dire qu'il s'agit d'une boîte et qu'il occupe toute la largeur de la vue, alors définit automatiquement les marges gauche et droite de la même manière et, par conséquent, l'élément est centré.
bodyet nous donnons toujourswidthetmargin:0 autoà#wrapper