Startpagina » Coding » Hoe CSS-only Sticky Footer te maken

    Hoe CSS-only Sticky Footer te maken

    Normaal hebben we JavaScript nodig scroll-effecten uitvoeren gerelateerd aan verschillende gebruikersacties op webpagina's. Het script doet het werk bijhouden hoe ver op of neer scrollen een pagina neemt, en triggert een actie wanneer een drempelhoogte is bereikt.

    Het is niet bijzonder slecht om JavaScript te gebruiken voor scrolleffecten. In feite zijn er meer gecompliceerde gevallen onmogelijk om op te lossen zonder JavaScript. Er zijn echter CSS-hacks die deze scripts soms kan vervangen.

    Dit bericht laat je zien how om footer te maken, onthult effecten op pagina scrollen met behulp van CSS. We zullen twee use-cases gebruiken om dit aan te tonen: één voor de hele pagina (zie demo) & één voor individuele pagina-elementen, zoals artikelen.

    Volledige pagina

    We moeten een voettekst maken die verschijnt onder de pagina terwijl de gebruiker naar beneden scrolt. Ook wanneer ze scrollen van de pagina een back-up van de voettekst nodig heeft verborgen zijn onder de pagina opnieuw.

    Om dit doel te bereiken, moeten we eerst een voettekst met vaste positie onderaan het scherm.

    1. Maak een vaste voettekst

    Laten we voeg wat inhoud en een voettekst toe naar de eerste pagina. Ik gebruik de HTML-tags

    en
    voor semantiek. Echter,
    werkt ook.

    In mijn demo staat een vleermuisafbeelding in het voetgedeelte voor een niet zo spookachtig effect, maar je kunt elke andere afbeelding kiezen die je leuk vindt.

     

    Blijf scrollen totdat je de voettekst ziet

    Lorem ipsum dolor sit amet…

    Verhuizen naar CSS, verwijder elke spatie rond de tag door marges instellen op 0, en maak het lang genoeg door een aangepaste hoogte toevoegen om scrollen te induceren (als de body-inhoud op uw pagina lang genoeg is om scrollen te veroorzaken, hoeft u deze geen hoogte te geven).

    Geef enkele dimensies (breedte en hoogte) naar het voettekstje, en fix zijn positie naar de onderkant van het scherm met de positie: vast; en onderkant: 0; eigenschappen.

     body font-family: Crimson Text; font-size: 13pt; marge: 0;  footer width: 100%; hoogte: 200 px; positie: vast; onderkant: 0; achtergrondkleur: # DD5632;  
    2. Verberg de voettekst

    Pas de z-index: -1 regel aan de voettekst om plaats het achter alle andere elementen op de pagina.

    Kleur beide en tags wit om bedek de voettekst.

     body, html background-color: #fff;  footer width: 100%; hoogte: 200 px; positie: vast; onderkant: 0; achtergrondkleur: # DD5632; z-index: -1;  
    3. Pas de onderste marge aan

    Stel de margin-bottom van de label gelijk aan de hoogte van de voettekst (in mijn voorbeeld 200px).

    Op deze manier is er voldoende ruimte onderaan voor de voettekst zichtbaar zijn wanneer de gebruiker naar beneden scrolt op de pagina.

     lichaam hoogte: 1000 px; marge: 0; margin-bottom: 200px; 

    Dat is het. Het voetteklijkende effect voor een volledige webpagina is voltooid. Bekijk de demo van Codepen hieronder.

    Individuele pagina-elementen

    Deze techniek kan worden gebruikt voor een individueel HTML-element (met een voettekst) dat is lang genoeg voor een juiste pagina scrollen effect. De methode is een beetje hacky, omdat het op dit moment niet werkt in Chrome en IE, maar het heeft een goede terugval.

    1. Maak een lang artikel

    Laten we eerst een lang artikel met een voettekst maken. Om semantische code te bevorderen, heb ik gekozen

    en
    .

     

    Artikel 1

    Lorem ipsum dolor sit amet…

    Hieronder ziet u de basisstyling van het artikel en de voettekst.

     artikel width: 500px; background-color: # FEF9F3; opvulling: 20px 40px;  artikel> footer height: 100px; achtergrondkleur: # FE0178;  body font-family: aalscholver garamond;  

    Mijn artikel ziet er momenteel zo uit. Natuurlijk kunt u ook andere basisstijlregels gebruiken.

    Artikel met voettekst - Basic Styling
    2. Maak de voettekst kleverig

    De vorige voettekst is hersteld, deze gaat kleverig zijn. Pas de positie: sticky regel aan het voettekst, dus het zal binnen de grenzen van het artikel komen maar nog steeds behoud zijn positie op het scherm terwijl de gebruiker op en neer scrolt.

     artikel> footer height: 100px; achtergrondkleur: # FE0178; positie: -webkit-plakkerig; positie: kleverig; onderkant: 80px;  

    De bottom: 80px regel corrigeert de positie van de voettekst 80 px boven de onderkant van het artikel.

    U kunt de waarde naar uw smaak aanpassen, omdat deze het punt bepaalt waar de voettekst begint te verschijnen of verdwijnt terwijl de gebruiker naar beneden of naar boven scrolt.

    Geef de dezelfde waarde voor de onderste marge van het artikel, zodat er voldoende ruimte onderaan is om het volledige voettekst te onthullen.

     artikel width: 500px; background-color: # FEF9F3; opvulling: 20px 40px; margin-bottom: 80px; 
    3. Voeg een gedeeltelijk transparante achtergrond toe

    Nu hebben we nodig een opening naast de onderkant van het artikel waardoor we het kleverige voettekstje naar beneden kunnen zien scrollen.

    Om dit te bereiken, vervangt u de Achtergrond kleur van het artikel met een lineair verloop achtergrond afbeelding, die van de bovenkant van het artikel naar de bovenkant van het voettekstje is gekleurd met de achtergrondkleur van het artikel, en het resterende deel naar de bodem is transparant gemaakt.

     artikel width: 500px; opvulling: 20px 40px; achtergrondafbeelding: lineair verloop (naar beneden, # FEF9F3 calc (100% - 120px), transparant 0); margin-bottom: 80px;  

    Deberekend (100% -120px) CSS-functie berekent de volledige hoogte van het artikel minus de voettekst. In mijn voorbeeld is het 120 px (100 px voor hoogte + 20px voor opvulling).

    Artikel met achtergrondafbeelding met lineaire achtergrond en kleverige voettekst
    4. Plaats de voettekst terug

    Eindelijk, laten we plaats de voettekst achter het artikel de ... gebruiken z-index: -1 CSS-regel.

     artikel> footer height: 100px; achtergrondkleur: # FE0178; positie: -webkit-plakkerig; positie: kleverig; onderkant: 80px; z-index: -1; 

    En dat is het, het individuele pagina-element met het on-scroll onthullende effect is voltooid. Bekijk hieronder de pen van Codepen. U kunt beide use-cases ook vinden op onze Github-pagina.