margin-left
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
Die margin-left
CSS-Eigenschaft legt den Randbereich auf der linken Seite eines Elements fest. Ein positiver Wert platziert es weiter von seinen Nachbarn entfernt, während ein negativer Wert es näher platziert.
Probieren Sie es aus
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: rgba(229, 232, 252, 0.6);
flex-shrink: 0;
}
#example-element {
border: solid 10px #ffc129;
background-color: rgba(255, 244, 219, 0.6);
}
Die vertikalen Ränder von zwei angrenzenden Boxen können verschmelzen. Dies wird Margin Collapsing genannt.
In den seltenen Fällen, in denen die Breite überbeansprucht wird (d. h., wenn alle von width
, margin-left
, border
, padding
, der Inhaltsbereich und margin-right
definiert sind), wird margin-left
ignoriert und hat den gleichen berechneten Wert, als ob der Wert auto
angegeben wäre.
Syntax
/* <length> values */
margin-left: 10px; /* An absolute length */
margin-left: 1em; /* relative to the text size */
margin-left: 5%; /* relative to the nearest block container's width */
margin-left: anchor-size(self-inline);
margin-left: calc(anchor-size(--myAnchor width, 20px) / 4);
/* Keyword values */
margin-left: auto;
/* Global values */
margin-left: inherit;
margin-left: initial;
margin-left: revert;
margin-left: revert-layer;
margin-left: unset;
Die Eigenschaft margin-left
wird als das Schlüsselwort auto
, oder eine <length>
, oder ein <percentage>
angegeben. Ihr Wert kann positiv, null oder negativ sein.
Werte
<length>
-
Die Größe des Randes als fester Wert.
- Für ankerpositionierte Elemente löst sich die
anchor-size()
Funktion auf einen<length>
Wert auf, der relativ zur Breite oder Höhe des zugehörigen Ankerelements ist (siehe Einstellung des Elementrandes basierend auf Ankergröße).
- Für ankerpositionierte Elemente löst sich die
<percentage>
-
Die Größe des Randes als Prozentsatz, relativ zur Inline-Größe (Breite in einer horizontalen Sprache, definiert durch
writing-mode
) des umgebenden Blocks. auto
-
Der linke Rand erhält einen Anteil des ungenutzten horizontalen Raums, der hauptsächlich durch den verwendeten Layoutmodus bestimmt wird. Wenn die Werte von
margin-left
undmargin-right
beideauto
sind, wird der berechnete Raum gleichmäßig verteilt. Diese Tabelle fasst die verschiedenen Fälle zusammen:Wert von display
Wert von float
Wert von position
Berechneter Wert von auto
Kommentar inline
,inline-block
,inline-table
beliebig static
oderrelative
0
Inline-Layout-Modus block
,inline
,inline-block
,block
,table
,inline-table
,list-item
,table-caption
beliebig static
oderrelative
0
, außer wenn sowohlmargin-left
als auchmargin-right
aufauto
gesetzt sind. In diesem Fall wird der Wert so eingestellt, dass das Element innerhalb seines Elternteils zentriert wird.Block-Layout-Modus block
,inline
,inline-block
,block
,table
,inline-table
,list-item
,table-caption
left
oderright
static
oderrelative
0
Block-Layout-Modus (schwebendes Element) beliebig table-*
, außertable-caption
beliebig beliebig 0
Interne table-*
Elemente haben keine Ränder, verwenden Sie stattdessenborder-spacing
beliebig, außer flex
,inline-flex
, odertable-*
beliebig fixed
oderabsolute
0
, außer wenn sowohlmargin-left
als auchmargin-right
aufauto
gesetzt sind. In diesem Fall wird der Wert so eingestellt, dass der Randbereich innerhalb der verfügbarenwidth
zentriert wird, wenn fixed.Absolut positionierter Layout-Modus flex
,inline-flex
beliebig beliebig 0
, außer es gibt einen positiven horizontalen freien Raum. In diesem Fall wird er gleichmäßig auf alle horizontalenauto
Ränder verteilt.Flexbox-Layout-Modus
Formale Definition
Anfangswert | 0 |
---|---|
Anwendbar auf | alle Elemente außer Elemente mit Tabellen-display -Typen, die nicht table-caption , table und inline-table entsprechen. Auch anwendbar auf ::first-letter . |
Vererbt | Nein |
Prozentwerte | bezieht sich auf die Breite des äußeren Elements |
Berechneter Wert | der Prozentwert wie angegeben oder die absolute Länge |
Animationstyp | Längenangabe |
Formale Syntax
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
Beispiele
margin-left als Prozentsatz setzen
Prozentwerte für margin-left
sind relativ zur Inline-Größe des Containers.
HTML
<p>
A large rose-tree stood near the entrance of the garden: the roses growing on
it were white, but there were three gardeners at it, busily painting them red.
</p>
<p class="example">
Alice thought this a very curious thing, and she went nearer to watch them,
and just as she came up to them she heard one of them say, "Look out now,
Five! Don't go splashing paint over me like that!"
</p>
<p>
"I couldn't help it," said Five, in a sulky tone; "Seven jogged my elbow."
</p>
CSS
.example {
margin-left: 50%;
}
Ergebnis
Spezifikationen
Specification |
---|
CSS Box Model Module Level 3 # margin-physical |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
margin-top
,margin-right
, undmargin-bottom
margin
Kurzformmargin-block-start
,margin-block-end
,margin-inline-start
, undmargin-inline-end
margin-block
undmargin-inline
Kurzformen- CSS-Box-Modell Modul