display je jedna z nejzásadnějších CSS vlastností — ovládá jak prvek vytváří box a jak jsou jeho podřízené prvky rozvrstveny.
{ : block; }
{ : inline; }
{ : inline-block; }
{ : none; }
{ : flex; }
{ : grid; }
display ve skutečnosti nastavuje dvě věci: jak se box chová zvenčí (block/inline) a jak rozvrhuje své podřízené prvky zevnitř (flow/flex/grid). display: flex znamená "tento box je na úrovni bloku a jeho podřízené prvky jsou flex prvky."
.gone { display: none; } /* removed from layout — takes NO space */
.hidden { visibility: hidden; } /* invisible but STILL occupies its space */
Klíčový rozdíl: display: none sbalí rozvržení (a skryje před čtečkami obrazovky); visibility: hidden zanechá mezeru, kde se prvek nacházel. Použijte display: none pro skutečné odstranění, visibility: hidden pro skrytí při zachování rozvržení.
.container {
display: flex; /* lay children in a row/column (one dimension) */
gap: 1rem;
}
.grid {
display: grid; /* lay children in rows AND columns (two dimensions) */
grid-template-columns: repeat(3, 1fr);
}
Moderní rozvržení je postaveno téměř výhradně na flex (1D — řady nebo sloupce) a grid (2D — řady a sloupce dohromady).
display určuje celkové chování prvku v rozvržení.
Znalost block vs inline vs inline-block vysvětluje výchozí tok; flex/grid jsou jádrem moderního rozvržení; a rozdíl mezi none a visibility je detail, který se často testuje a má praktický význam.