Własność CSS margin-inline

> Dodaj do ulubionych

Własność CSS margin-inline to własność zbiorcza CSS służąca do ustawiania szerokości logicznego marginesu początkowego i końcowego w orientacji śródliniowej. Jest to własność niedziedziczona. Obejmuje ona dwie indywidualne własności logicznego marginesu śródliniowego:

Ustawienia własności margin-inline są odwzorowywane na odpowiednie własności fizyczne marginesów zależnie od kierunku i orientacji pisma. W przypadku dokumentów w językach pisanych od lewej strony i od góry (takich jak polski, angielski itd.) wartości tej własności odpowiadają ustawieniom margin-right i margin-left, np.:

div {
  background-color: lightpink;
  display: inline-block;
}
p {
  margin-inline: 20px;
  background: coral;
}
...
<div><p>Lorem ipsum dolor sit amet, consectetur.</p></div>

W tym przykładzie zdefiniowaliśmy logiczne marginesy śródliniowe z obu stron na 20 pikseli, czego efekt widać na poniższym zrzucie ekranu:

Efekt zastosowania własności margin-inline

Jak widać marginesy zostały zastosowane po lewej (margin-left, logiczny początek elementu) i po prawej (margin-right, logiczny koniec elementu) stronie.

A teraz tę samą deklarację własności margin-inline zastosujemy do tekstu pionowego, pisanego od prawej do lewej.

div {
  background-color: lightpink;
  display: inline-block;
}
p {
  margin-inline: 20px;
  background: coral;
  writing-mode: vertical-rl;
}
...
<div><p>Lorem ipsum dolor sit amet, consectetur.</p></div>

Efekt:

Efekt zastosowania własności margin-inline do tekstu pionowego

W tym przypadku marginesy również zostały zastosowane na logicznym początku i końcu elementu, ale zmieniła się jego orientacja i stąd też zmiana lokalizacji obszarów marginesów. Teraz pierwsza i druga wartość odpowiadają fizycznym własnościom marginesu margin-top i margin-bottom.

Obsługiwane wartości

Typy wartości przyjmowane przez własność margin-inline:

  • Liczby z jednostką długości
  • Procenty – wartości procentowe odnoszą się do szerokości (w przypadku dokumentów zawierających tekst w języku pisanym od lewej do prawej strony) nadrzędnego elementu blokowego, czyli zawierającego ten element, dla którego jest zdefiniowany margines.
  • auto – szerokość marginesu jest dobierana przez przeglądarkę. Tej wartości czasami używa się do centrowania elementów na stronie.

W jednej deklaracji własności margin-inline można mieszać różne typy wartości, a więc poniższa deklaracja, choć niezbyt rozsądna, jest prawidłowa:

margin-inline: 10px 4mm;

Wartość początkowa własności margin-inline to 0.

Składnia

Własność margin-inline przyjmuje jedną lub dwie wartości. Jeśli jest jedna wartość, to zostaje ona zastosowana dla obu własności składowych. Jeśli wartości są dwie, to odnoszą się one odpowiednio do własności margin-inline-start i margin-inline-end, np.:

margin-inline: 10px;

W powyższym przykładzie marginesy początkowy i końcowy będą miały szerokość po 10 pikseli. Natomiast w poniższym przykładzie margines początkowy będzie miał 10 pikseli szerokości, a końcowy – 20.

margin-inline: 10px 20px;

Ten zapis jest równoważny z poniższym:

margin-inline-start: 10px;
margin-inline-end: 20px;

Zastosowanie

Własność margin-inline ma zastosowanie do wszystkich elementów z wyjątkiem elementów tabeli, które mają własność display ustawioną na inną wartość niż table-caption, table oraz inline-table.

Dodatkowo własność margin-inline działa także w pseudoelementach ::first-letter i ::first-line.

Podsumowanie

ZastosowanieWszystkie elementy z wyjątkiem elementów tabeli, które mają własność display ustawioną na inną wartość niż table-caption, table oraz inline-table
Obsługiwane wartości
Własności składowe
Wartość początkowa0
DziedziczenieNie
SpecyfikacjaCSS Logical Properties and Values Level 1 – margin-inline-end