Novinka: Vizuální editor pro éru AI webů. Poslední dílek skládačky, když chcete upravovat web a ne psát e-maily. www.directedit.dev

💬

Fixní hlavička překrývá obsah

Jak se vypořádat s fixní hlavičkou, která překrývá obsah?

Sticky/fixed hlavička překrývá obsah při použití kotev

Typický příklad hlavně u one-page webů – máte na webu sticky/fixed hlavičku, která je ukotvena/přilepená na stránce celou dobu, a při použití kotev mám překryje obsah. Většinou je to nastavení typu “Sticky on scroll” a podobně.

Pro takový problém je tu jednoduché řešení přes CSS.

CSS scroll-margin-top

scroll-margin-top je možné použít ve všech moderních prohlížečích a je jednoduché ho aplikovat – na všechny sekce (nebo konkrétní CSS třídu, podle vaší potřeby) nastavíte požadované odsazení:

section {
    scroll-margin-top: 80px; /* Header height */
}

Případně pro konkrétní třídu .my-class:

.my-class {
    scroll-margin-top: 80px; /* Header height */
}

Nebo pro všechny elementy, které mají přiřazené ID:

[id] {
    scroll-margin-top: 80px; /* Header height */
}

Padding + margin

Druhou variantou je takový old-school trik, který vám bude fungovat všude. Prostě využijete toho, že margin může být záporný. Pro všechny sekce to vypadá takto:

section::before {
    content: "";
    display: block;
    height: 80px; /* Header height */
    margin-top: -80px; /* Header height, but negative */
    visibility: hidden;
}

Případně pro konkrétní třídu .my-class:

.my-class::before {
    content: "";
    display: block;
    height: 80px; /* Header height */
    margin-top: -80px; /* Header height, but negative */
    visibility: hidden;
}

Líbil se vám článek? Pošlete ho dál:

Jitka Klingenbergová

Jitka Klingenbergová

Absolventka ČVUT FIT oboru Informatika | Programátorka | Webová vývojářka, konzultantka a mentorka
tvorime@vyladeny-web.cz

Vaše komentáře

Zanechte první komentář

Zpět k tipům

Pravidelná dávka užitečných tipů až do schránky