Junior
Jaký je hlavní význam vlastnosti display v CSS a jak funguje?
sobes.tech AI
Odpověď od AI
Vlastnost display určuje, jak se prvek zobrazí v dokumentu a jak bude interagovat s ostatními prvky, přičemž se podílí na toku rozvržení (layout flow). Definuje typ formátovacího bloku prvku.
Hlavní hodnoty:
block: Prvek je formátován jako blok. Zabírá celou dostupnou šířku, začíná na novém řádku a může mít stanovené rozměry (width,height).inline: Prvek je formátován jako inline. Nezačíná nový řádek, zabírá pouze potřebnou šířku a nemůže mít stanovené rozměry (width,height). Vertikální okraje (margin-top,margin-bottom) a vnitřní výplně (padding-top,padding-bottom) neovlivňují okolní prvky.inline-block: Prvek je formátován jako inline, ale chová se jako blok uvnitř řádku. Nezačíná nový řádek, může mít stanovené rozměry (width,height) a okraje a výplně, které ovlivňují okolní prvky.none: Prvek a jeho obsah se nezobrazují. Prvek je úplně odstraněn z toku dokumentu a nezabírá žádné místo.flex: Prvek se stává Flex kontejnerem a jeho přímí potomci jsou Flex prvky. Používá se k vytváření flexibilních rozvržení.grid: Prvek se stává Grid kontejnerem. Používá se k vytváření rozvržení založených na mřížce.
Jak to funguje:
Prohlížeč používá hodnotu display k určení typu formátovacího kontextu, ve kterém se prvek nachází. To ovlivňuje:
- Tok dokumentu: Jak je prvek umístěn vzhledem ke svým sousedům.
- Rozměry prvku: Možnost nastavení šířky a výšky a vliv obsahu na rozměry.
- Vliv na okolní prvky: Jak okraje a rozměry prvku ovlivňují rozložení ostatních prvků.
Příklad:
/* Element s display: block */
div {
display: block;
width: 100%; /* Zabírá celou šířku */
margin-bottom: 10px; /* Vytváří svislý odstup */
}
/* Element s display: inline */
span {
display: inline;
/* width a height jsou ignorovány */
/* margin-top a margin-bottom jsou ignorovány */
}
/* Element s display: inline-block */
img {
display: inline-block;
width: 100px; /* Lze nastavit šířku */
height: 100px; /* Lze nastavit výšku */
margin: 5px; /* Vytváří okraje ze všech stran */
}
/* Skrytý prvek */
.hidden {
display: none;
}