Właściwość CSSUkład i pozycjonowanie

display

Ustala, jak element zachowuje się w układzie strony i jak układa swoje dzieci.

Wartość domyślna
inline
Dziedziczona
Nie
Animowalna
nie, zmienia się skokowo
Dotyczy
wszystkie elementy
JavaScript
element.style.display = "flex"
Na tej stronie

Przykład

#
CSS
.menu {
  display: flex;
  gap: 16px;
}

.menu a {
  display: inline-block;
  padding: 8px 14px;
}
Podgląd

Definicja i zastosowanie

#

Właściwość display to podstawa każdego układu. Mówi dwie rzeczy: jak element zachowuje się na zewnątrz (czy zaczyna nową linię jak blok, czy płynie w tekście jak element liniowy) i jak układa swoje dzieci (zwykły przepływ, Flexbox, Grid).

Elementy blokowe, takie jak <div> czy <p>, zajmują całą dostępną szerokość i zaczynają się od nowej linii. Elementy liniowe, takie jak <span> czy <a>, płyną w tekście i ignorują szerokość oraz wysokość. inline-block łączy oba światy: element stoi w linii, ale da się mu nadać wymiary.

Wartości flex i grid zamieniają element w kontener nowoczesnego układu, a none całkowicie usuwa element ze strony, łącznie z miejscem, które zajmował.

Składnia

#
Składnia
display: block | inline | inline-block | flex | inline-flex | grid | inline-grid | none | contents | …;

Wartości

#
  • inline

    Elementy płyną w linii jak tekst. Szerokość 110px jest ignorowana.
  • block

    Każdy element zaczyna nową linię i respektuje szerokość.
  • inline-block

    Elementy stoją w jednej linii, ale mają swoją szerokość i marginesy pionowe.
  • flex

    Kontener układa dzieci w elastycznym wierszu. Tu wartość nadajemy rodzicowi.
  • grid

    Kontener układa dzieci w siatce. Tu trzy równe kolumny.
  • none

    Element znika i nie zajmuje miejsca. Tu ukrywamy drugi element.

Wartości w praktyce

#

inline

Elementy płyną w linii jak tekst. Szerokość 110px jest ignorowana.
.item { display: inline; }

block

Każdy element zaczyna nową linię i respektuje szerokość.
.item { display: block; }

inline-block

Elementy stoją w jednej linii, ale mają swoją szerokość i marginesy pionowe.
.item { display: inline-block; }

flex

Kontener układa dzieci w elastycznym wierszu. Tu wartość nadajemy rodzicowi.
.stage { display: flex; gap: 6px; }

grid

Kontener układa dzieci w siatce. Tu trzy równe kolumny.
.stage { display: grid; grid-template-columns: repeat(3, 1fr); }
.item { width: auto; }

none

Element znika i nie zajmuje miejsca. Tu ukrywamy drugi element.
.item:nth-child(2) { display: none; }

Obsługa przeglądarek

#

Szeroko dostępne

Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.

  • Chrome
  • Edge
  • Firefox
  • Safari

Dobre praktyki

#
  • Jeśli width albo margin-top nie działa na elemencie, sprawdź, czy nie jest liniowy. Pomoże inline-block albo block.
  • Do ukrycia elementu tylko wizualnie, z zachowaniem dla czytników ekranu, nie używaj display: none.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.