Sticky header: position: sticky en verbergen bij scrollen

Gids voor sticky headers

Sticky header CSS: position sticky, krimpen, verbergen bij scrollen | We.Inc

Maak een sticky header met position: sticky en voeg daarna krimpen en verbergen bij scrollen toe. Live demo, ankeroffsets met scroll-margin, z-index-oplossingen en een kleine React-hook.

Geef de header position: sticky en top: 0, plus een achtergrond en een z-index, en hij blijft vastgezet terwijl de pagina scrolt. Hij blijft alleen plakken binnen zijn parent, en een voorouder met een overflow-instelling kan hem tegenhouden. Voor een header die verdwijnt bij scrollen schakelt u een translateY-class in vanuit een scroll-listener.

sticky tegenover fixed voor headers

Sticky headers zijn één regel CSS, totdat ze dat niet meer zijn: de header wil niet blijven plakken, ankerlinks belanden eronder, of een dropdown schuift achter de inhoud. Deze pagina behandelt die regel CSS en daarna elk van die problemen, met een live scrolldemo waarin u kunt wisselen tussen gewoon, krimpen en verbergen.

Veelgestelde vragen

Waarom werkt mijn position: sticky niet?

Drie gebruikelijke oorzaken: geen inset-waarde zoals top: 0, een parent die direct na de header eindigt zodat er geen ruimte is om te plakken, of een voorouder met een andere overflow dan visible, die dan het vak wordt waaraan de header plakt. Controleer ze in die volgorde.

Moet een header sticky of fixed zijn?

Sticky is eenvoudiger omdat het zijn plaats in de layout behoudt, zodat er bovenaan de pagina niets onder verspringt. Fixed is handig als de header over een hero op volledig scherm moet liggen, maar dan voegt u zelf padding aan de pagina toe.

Hoe voorkom ik dat ankerlinks onder een sticky header verdwijnen?

Voeg scroll-padding-top toe aan de scrollende container, meestal html, gelijk aan de hoogte van de header. Voor losse doelen kunt u in plaats daarvan scroll-margin-top op de kop zelf zetten.

Waarom verschijnt mijn dropdown achter de pagina-inhoud?

Sticky positionering maakt een stacking context, dus alles in de header kan alleen binnen die context stapelen. Til de header zelf op met een z-index boven latere inhoud, bijvoorbeeld z-index: 50, in plaats van de dropdown op te tillen.

Hoe sticky echt werkt

Verbergen bij omlaag scrollen, tonen bij omhoog scrollen

Krimpen zonder layoutsprongen

De basis sticky header

Sticky header in een scrollende pagina

Scrol in het frame. De header blijft bovenaan en de ankerlink stopt eronder dankzij scroll-padding-top.

Verbergen bij omlaag scrollen, tonen bij omhoog scrollen

CSS voor de verborgen en verkleinde toestand

Het script zet alleen data-attributen. Elke visuele wijziging staat in de CSS.

React-hook: useHideOnScroll

Geeft twee booleans terug die u als data-attributen op de header kunt spreiden. De drempel van 8px negeert kleine schokjes.

Valkuilen bij sticky headers

Symptomen en oplossingen

Gewoon sticky

Krimpen

Verbergen bij scrollen

Live scrolldemo

Wissel tussen gewoon, krimpen en verbergen bij scrollen, en scrol dan in het vak.

Headermodus

Scrollbare demopagina

Merk

Scrol omlaag en daarna een klein stukje terug omhoog.

Headerstatus: zichtbaar

Headerstatus: zichtbaar, gescrold

Headerstatus: verborgen

Headerstatus: verborgen, gescrold

Gratis beginnen · Geen creditcard nodig

Gerelateerd: Gidsen

Product

Voor wie

Functies

Bronnen

Bedrijf

Sitemap