Hur man skapar: Minskande navigationsmeny vid rullning
- Föregående sida Dölj navigationsfältet när du rullar
- Nästa sida Klistrande navigationsfält
Lär dig hur du använder CSS och JavaScript för att justera storleken på navigationsfältet vid rullning.
Hur man minskar navigationsfältet vid rullning
Steg 1 - Lägg till HTML:
Skapa navigationsfält:
<div id="navbar"> <a href="#default" id="logo">Företagslogotyp</a> <div id="navbar-right"> <a class="active" href="#home">Hem</a> <a href="#contact">Kontakt</a> <a href="#about">Om</a> </div> </div>
Steg 2 - Lägg till CSS:
Ställ in navigationsfältets stil:
/* Skapa klistrande/fast navigationsfält */ #navbar { overflow: hidden; background-color: #f1f1f1; padding: 90px 10px; /* Större innermarginal, minskar vid rullning (använd JS) */ transition: 0.4s; /* Lägg till övergångseffekt när innermarginalen minskar */ position: fixed; /* Klistrande/fast navigationsfält */ width: 100%; top: 0; /* Överst */ z-index: 99; } /* Inställningar för navigationslänkarnas stil */ #navbar a { float: left; färg: svart; text-align: center; padding: 12px; text-decoration: none; font-size: 18px; line-height: 25px; border-radius: 4px; } /* Inställningar för logotypens stil */ #navbar #logo { font-size: 35px; font-weight: bold; övergång: 0.4s; } /* Ställ in stilen för länk när muspekaren hovrar över */ #navbar a:hover { bakgrundsfärg: #ddd; färg: svart; } /* Ställ in stilen för aktiv/nuvarande länk */ #navbar a.active { bakgrundsfärg: dodgerblå; färg: vit; } /* Visa några länkar till höger */ #navbar-right { flyt: höger; } /* Lägg till responsivitet - Visa navigationsfältet vertikalt istället för horisontellt på skärmar med en bredd mindre än 580 pixlar */ @media screen and (max-width: 580px) { #navbar { padding: 20px 10px !important; /* Använd !important för att säkerställa att JavaScript inte överskriver marginalen på små skärmar */ } #navbar a { flyt: inget; display: block; text-align: vänster; } #navbar-right { flyt: inget; } }
Tredje steg - Lägg till JavaScript:
// När användaren rullar 80 pixlar ned från dokumentets topp, justera navigationsfältets inre marginal och logotypens teckenstorlek window.onscroll = function() {scrollFunction()}; function scrollFunction() { if (document.body.scrollTop > 80 || document.documentElement.scrollTop > 80) { document.getElementById("navbar").style.padding = "30px 10px"; document.getElementById("logo").style.fontSize = "25px"; } document.getElementById("navbar").style.padding = "80px 10px"; document.getElementById("logo").style.fontSize = "35px"; } }
- Föregående sida Dölj navigationsfältet när du rullar
- Nästa sida Klistrande navigationsfält