margin-left
Baseline
Widely available
*
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.
La propriété CSS margin-left d'un élément définit l'espace horizontal à gauche qui formera la zone de marge à gauche de l'élément. On peut avoir une marge gauche négative qui rapproche l'élément de ses voisins ou une marge positive qui l'en écarte.
Exemple interactif
margin-left: 1em;
margin-left: 10%;
margin-left: 10px;
margin-left: 0;
<section id="default-example">
<div id="container">
<div class="col"></div>
<div class="col transition-all" id="example-element"></div>
<div class="col"></div>
</div>
</section>
#container {
width: 300px;
height: 200px;
display: flex;
align-content: flex-start;
justify-content: flex-start;
}
.col {
width: 33.33%;
border: solid #5b6dcd 10px;
background-color: rgb(229 232 252 / 0.6);
flex-shrink: 0;
}
#example-element {
border: solid 10px #ffc129;
background-color: rgb(255 244 219 / 0.6);
}
Les marges verticales de deux boîtes adjacentes peuvent fusionner entre elles. C'est ce qu'on appelle la fusion de marges.
Dans certains cas où la largeur est sur-contrainte (autrement dit quand width, margin-left, border, padding, la taille de la zone de contenu et margin-right sont toutes définies), margin-left est ignorée. La valeur calculée sera la même que si auto avait été utilisée.
Syntaxe
/* Valeurs de type <length> */
margin-left: 10px; /* Une longueur absolue */
margin-left: 1em; /* Une longueur absolue relative à la taille du texte */
margin-left: 5%; /* Une marge dont la taille est relative à la largeur du bloc englobant */
margin-left: anchor-size(self-inline);
margin-left: calc(anchor-size(--my-anchor width, 20px) / 4);
/* Valeur avec un mot-clé */
margin-left: auto;
/* Valeurs globales */
margin-left: inherit;
margin-left: initial;
margin-left: revert;
margin-left: revert-layer;
margin-left: unset;
La valeur de la propriété margin-left peut être le mot-clé auto, une longueur (<length>) ou un pourcentage (<percentage>). La valeur peut être positive, nulle ou négative.
Valeurs
<length>-
La taille de la marge en valeur fixe.
- Pour les éléments positionnés par ancre, la fonction
anchor-size()donne une valeur<length>relative à la largeur ou la hauteur de l'élément ancre associé (voir Définir la marge d'un élément selon la taille de l'ancre).
- Pour les éléments positionnés par ancre, la fonction
<percentage>-
La taille de la marge en pourcentage, relative à la taille en ligne (largeur dans une langue horizontale, définie par
writing-mode) du bloc englobant. auto-
La marge gauche reçoit une part de l'espace horizontal inutilisé, déterminée principalement par le mode de disposition utilisé. Si les valeurs de
margin-leftetmargin-rightsont toutes deuxauto, l'espace calculé est réparti équitablement. Ce tableau résume les différents cas :Valeur de displayValeur de floatValeur de positionValeur calculée pour autoCommentaires inline,inline-block,inline-tableN'importe laquelle staticourelative0Disposition en ligne block,inline,inline-block,block,table,inline-table,list-item,table-captionN'importe laquelle staticourelative0sauf simargin-leftetmargin-rightvalentauto. Dans ce cas, la valeur utilisée sera celle qui permet de centrer l'élément au sein de l'élément parent.Disposition en bloc block,inline,inline-block,block,table,inline-table,list-item,table-captionleftourightstaticourelative0Disposition en bloc avec les éléments flottants N'importe quelle table-*, sauftable-captionN'importe laquelle N'importe laquelle 0Les éléments table-*n'ont pas de marge, il faut utiliserborder-spacingà la place.N'importe laquelle, sauf flex,inline-flex, outable-*N'importe laquelle fixedouabsolute0sauf simargin-leftetmargin-rightvalentauto. Dans ce cas, la valeur utilisée sera celle qui permet de centrer la boîte de bordure dans la zone de largeur disponible si elle fixée.Positionnement absolu. flex,inline-flexN'importe laquelle N'importe laquelle 0, sauf s'il reste de l'espace libre. Dans ce cas, l'espace restant sera distribué de façon équitable entre toutes les marges avecauto.Boîtes flexibles.
Définition formelle
| Valeur initiale | 0 |
|---|---|
| Applicabilité | tous les éléments exceptés ceux dont les types display pour les tableaux ne sont pas table-caption, table et inline-table. S'applique aussi à ::first-letter. |
| Héritée | non |
| Pourcentages | se rapporte à la largeur du bloc contenant |
| Valeur calculée | le pourcentage tel que spécifié ou une longueur absolue |
| Type d'animation | une longueur |
Syntaxe formelle
margin-left =
<length-percentage> |
auto |
<anchor-size()>
<length-percentage> =
<length> |
<percentage>
<anchor-size()> =
anchor-size( [ <anchor-name> || <anchor-size> ]? , <length-percentage>? )
<anchor-name> =
<dashed-ident>
<anchor-size> =
width |
height |
block |
inline |
self-block |
self-inline
Exemples
>Définir la marge de gauche en pourcentage
Les valeurs en pourcentage pour margin-left sont relatives à la taille en ligne du conteneur.
HTML
<p>
Un grand rosier se trouvait à l'entrée du jardin ; les roses qu'il
portait étaient blanches, mais trois jardiniers étaient en train de les
peindre en rouge.
</p>
<p class="exemple">
Alice s'avança pour les regarder, et, au moment où elle approchait, elle en
entendit un qui disait : « Fais donc attention, Cinq, et ne
m'éclabousse pas ainsi avec ta peinture. »
</p>
<p>
« Ce n'est pas de ma faute, » dit Cinq d'un ton bourru, « c'est
Sept qui m'a poussé le coude. »
</p>
CSS
.exemple {
margin-left: 50%;
}
Résultat
Spécifications
| Specification |
|---|
| CSS Box Model Module Level 3> # margin-physical> |
Compatibilité des navigateurs
Voir aussi
- Les propriétés
margin-top,margin-rightetmargin-bottom - La propriété raccourcie
margin - Les propriétés
margin-block-start,margin-block-end,margin-inline-startetmargin-inline-end - Les propriétés raccourcies
margin-blocketmargin-inline - Le module du modèle de boîte CSS