Pagina principala » Codificare » Cum se creează Footer Sticky numai pentru CSS

    Cum se creează Footer Sticky numai pentru CSS

    În mod normal, avem nevoie de JavaScript efectuați efecte de derulare legate de diferite acțiuni ale utilizatorilor pe paginile web. Scenariul face treaba urmărind cât de departe deplasează în sus sau în jos o pagină, și declanșează o acțiune când se atinge o înălțime a pragului.

    Nu este un lucru deosebit de rău să folosiți JavaScript pentru efectele derulării. De fapt, există cazuri mai complicate care sunt imposibil de rezolvat fără JavaScript. Totuși, există CSS hacks care poate înlocui uneori aceste scripturi.

    Această postare vă va arăta how pentru a crea footer dezvăluie efecte în pagina de defilare folosind CSS. Vom folosi două cazuri de utilizare pentru a demonstra acest lucru: unul pentru întreaga pagină (a se vedea demo) și unul pentru elemente de pagină individuale, cum ar fi articole.

    Pagină plină

    Trebuie să creăm un subsol apare de sub pagina în timp ce utilizatorul se derulează în jos. De asemenea, când defilază pagina înapoi, subsolul trebuie să fie fi ascuns sub din nou pagina.

    Pentru a atinge acest obiectiv, mai întâi trebuie să creați o subsol cu ​​poziție fixă în partea de jos a ecranului.

    1. Creați un subsol fix

    hai adăugați conținut și un subsol la prima pagină. Folosesc etichetele HTML

    și
    pentru semantică. in orice caz,
    lucrează de asemenea.

    În demo-ul meu, există o imagine de liliece prezentată în subsolul foametei pentru un efect nu atât de infricosator, dar puteți alege orice altă imagine care vă place.

     

    Continuați să derulați până vedeți subsolul

    Lorem ipsum dolor stai amet ...

    Trecerea la CSS, eliminați orice spațiu in jurul etichetă de către setarea marjelor la 0, și o face suficient de lungă adăugând o înălțime personalizată pentru a induce deplasarea (dacă conținutul corpului din pagină este suficient de lung pentru a provoca deplasarea, nu trebuie să-i dați o înălțime).

    Dați câteva dimensiuni (lăţime și înălţime) la subsolul și fixa poziția sa în partea de jos a ecranului cu pozitie: fixa; și fund: 0; proprietăţi.

     corp font-family: Crimson Text; font-size: 13pt; marja: 0;  footer lățime: 100%; înălțime: 200px; pozitie: fixa; fund: 0; fundal-culoare: # DD5632;  
    2. Ascundeți subsolul

    Aplicați z-index: -1 conduce la subsol pentru a puneți-l în spatele tuturor celorlalte elemente pe pagină.

    Culoare ambele și tag-uri alb pentru a acoperă subsolul.

     corp, html background-color: #fff;  footer lățime: 100%; înălțime: 200px; pozitie: fixa; fund: 0; fundal-culoare: # DD5632; z-index: -1;  
    3. Reglați marginea inferioară

    Seteaza margin-bottom din etichetă egală cu înălțimea subsolului (în exemplul meu 200px).

    În acest fel va fi suficient spațiu în partea de jos pentru subsol fi vizibil când utilizatorul scroll în jos pagina.

     corp înălțime: 1000px; marja: 0; margin-bottom: 200px; 

    Asta e. Subsolul dezvăluie efectul unei pagini web complete. Check out demo-ul Codepen de mai jos.

    Elemente individuale ale paginii

    Această tehnică poate fi utilizată pentru un element HTML individual (cu subsol) destul de mult pentru un efect de derulare corect al paginii. Metoda este un pic cam nebun, deoarece în prezent nu funcționează în Chrome și IE, dar are o schimbare decentă.

    1. Creați un articol lung

    Mai întâi, să creăm un articol lung cu un subsol. Pentru a promova codul semantic, am ales

    și
    .

     

    articolul 1

    Lorem ipsum dolor stai amet ...

    Mai jos puteți vedea stilul de bază a articolului și a subsolului.

     articol width: 500px; background-color: # FEF9F3; padding: 20px 40px;  articol> subsol înălțime: 100px; fundal-culoare: # FE0178;  corp font-family: cormorant garamond;  

    Articolul meu arată în acest moment. Desigur, puteți folosi și alte reguli de stil de bază.

    Articol cu ​​subsol - stil de bază
    2. Faceți subsolul Sticky

    Subtitrarea anterioară a fost fixată, aceasta se întâmplă să fie lipicios. Aplicați Poziția: lipicios se pronunță la subsol, așa că se va mișca în interiorul limitelor articolului, dar în continuare să își mențină poziția pe ecran în timp ce utilizatorul se deplasează în sus și în jos.

     articol> subsol înălțime: 100px; fundal-culoare: # FE0178; pozitie: -webkit-lipicios; pozitie: lipicios; fund: 80px;  

    bottom: 80px regula fixează poziția subsolului 80px deasupra părții de jos a articolului.

    Puteți ajusta valoarea la gustul dvs., deoarece determină punctul în care subsolul începe să apară sau să dispară în timp ce utilizatorul se deplasează în jos sau în sus.

    Dă-i aceeași valoare pentru marginea inferioară a articolului, astfel încât să existe suficient spațiu în partea de jos pentru a descoperi subsolul complet.

     articol width: 500px; background-color: # FEF9F3; padding: 20px 40px; margin-bottom: 80px; 
    3. Adăugați un fundal parțial transparent

    Acum avem nevoie o deschidere de lângă partea de jos a articolului prin care vedem piciorul lipicios derulând în jos și în sus.

    Pentru a realiza acest lucru, înlocuiți culoare de fundal al articolului cu gradient linear imagine de fundal, care de la partea de sus a articolului până la partea de sus a subsolului este colorate cu culoarea de fundal a articolului, iar porțiunea rămasă în partea de jos este făcute transparente.

     articol width: 500px; padding: 20px 40px; fundal-imagine: gradient liniar (spre fund, # FEF9F3 calc (100% - 120px), transparent 0); margin-bottom: 80px;  

    calc (100% -120px) Funcția CSS calculează înălțimea completă a articolului minus subsolul. În exemplul meu, este de 120px (100px pentru înălțime + 20px pentru umplere).

    Articol cu ​​Imagine de fundal gradient liniar și subsol lipicios
    4. Plasați subsolul înapoi

    În cele din urmă, hai să mergem plasați subsolul în spatele articolului folosind z-index: -1 Regula CSS.

     articol> subsol înălțime: 100px; fundal-culoare: # FE0178; pozitie: -webkit-lipicios; pozitie: lipicios; fund: 80px; z-index: -1; 

    Și asta este, elementul de pagină individual cu efectul de revelare on-scroll se face. Consultați pixul de mai jos. De asemenea, puteți găsi ambele cazuri de utilizare pe pagina noastră Github.