Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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 ⁨Juli 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 entfernt es weiter von seinen Nachbarn, 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: rgb(229 232 252 / 0.6);
  flex-shrink: 0;
}

#example-element {
  border: solid 10px #ffc129;
  background-color: rgb(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 überbeschränkt ist (d.h., wenn alle von width, margin-left, border, padding, dem 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

css
/* <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(--my-anchor 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 margin-left-Eigenschaft wird entweder als Schlüsselwort auto, als <length> oder als <percentage> angegeben. Der Wert kann positiv, null oder negativ sein.

Werte

<length>

Die Größe des Randes als fester Wert.

<percentage>

Die Größe des Randes als Prozentsatz, relativ zur Inline-Größe (width in einer horizontalen Sprache, definiert durch writing-mode) des umgebenden Blocks.

auto

Der linke Rand erhält einen Anteil des nicht genutzten horizontalen Raums, der hauptsächlich vom verwendeten Layout-Modus bestimmt wird. Wenn die Werte von margin-left und margin-right beide auto 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 alle static oder relative 0 Inline-Layout-Modus
block, inline, inline-block, block, table, inline-table, list-item, table-caption alle static oder relative 0, außer wenn sowohl margin-left als auch margin-right auf auto gesetzt sind. In diesem Fall wird es auf den Wert eingestellt, der das Element innerhalb seines Elternteils zentriert. Block-Layout-Modus
block, inline, inline-block, block, table, inline-table, list-item, table-caption left oder right static oder relative 0 Block-Layout-Modus (schwebendes Element)
alle table-*, außer table-caption alle alle 0 Interne table-*-Elemente haben keine Ränder, verwenden Sie stattdessen border-spacing
alle, außer flex, inline-flex, oder table-* alle fixed oder absolute 0, außer wenn sowohl margin-left als auch margin-right auf auto gesetzt sind. In diesem Fall wird es auf den Wert eingestellt, der den Randbereich innerhalb der verfügbaren width zentriert, wenn fixiert. Absolut positionierter Layout-Modus
flex, inline-flex alle alle 0, außer wenn es einen positiven horizontalen Freiraum gibt. In diesem Fall wird er gleichmäßig auf alle horizontalen auto-Ränder verteilt. Flexbox-Layout-Modus

Formale Definition

Anfangswert0
Anwendbar aufalle Elemente außer Elemente mit Tabellen-display-Typen, die nicht table-caption, table und inline-table entsprechen. Auch anwendbar auf ::first-letter.
VererbtNein
Prozentwertebezieht sich auf die Breite des äußeren Elements
Berechneter Wertder Prozentwert wie angegeben oder die absolute Länge
AnimationstypLä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

Setzen von margin-left als Prozentsatz

Prozentwerte für margin-left sind relativ zur Inline-Größe des Containers.

HTML

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

css
.example {
  margin-left: 50%;
}

Ergebnis

Spezifikationen

Specification
CSS Box Model Module Level 3
# margin-physical

Browser-Kompatibilität

Siehe auch