Schuivend menu 2: gecheckte input stijlt inhoud (00:07:37)
De inhoud heeft een witte achtergrond, zodat je ziet over de body komt.
Wellicht moet je hem ook nog een minimale hoogte van 100vh geven zodat hij de viewport tenminste bedekt. (Dit zie je niet in het filmpje!)
Omdat de CSS, die nu komt alleen voor deze pagina gaat gelden, gaat dat in het interne stijlblad.
Door de navigatie een position: absolute;
te geven, 'voelt' de inhoud dit niet meer en schiet de inhoud naar boven.
De inhoud zou opzij moeten schuiven, en krijgt daarom een marge, die net zo breed is als de breedte van de navigatie.
Dan wordt hij smaller, maar dat is lelijk. De inhoud krijgt dus een breedte van 100vw
, zodat de teksten en het plaatje niet verlopen.
(In het filmpje wordt vergeten de inhoud ook nog box-sizing: border-box;
te geven,
want de padding moet de breedte niet verder vergroten.)
De inhoud moet over de rand van de viewport gaan en daarom krijgt de body een overflow-x: hidden
, zodat er geen horizontale scroll-balk ontstaat.
Om de styling van de inhoud te sturen maken we en checkbox.
Met de pseudo-selector :checked bij de checkbox, kun je iets stijlen dat een sibling is van de checkbox.
Daarom wordt hij ook direct na de opening van d body geplaatst. Door het checken kan dus zowel de navigatie als de inhoud worden gestyled.
Je selecteert de sibling (broer/zus) met ~
(tilde)
Door de checkbox, te checken krijgt de inhoud wel of geen negatieve marge. Je kunt dat natuurlijk ook met een andere eigenschap doen.
De navigatie zal onder de inhoud vallen als deze ook een position absolute krijgt.
Geen je de inhoud een transition op de eigenschap ,die deze verplaatst, dan zal de overgang een animatie krijgen.