简体   繁体   中英

anchor not scrolling to the very top

When you click on home you don't get scrolled to the very top. There is still a bit that you have to scroll manually. How can I set home to the top?

Could be using position: sticky instead of position: fixed a better option?

If so how do I correctly replace the state of my navbar?

 // header Effekt beim scrollen $(function() { var shrinkHeader = 100; $(window).scroll(function() { var scroll = getCurrentScroll(); if (scroll >= shrinkHeader) { $('#navbar').addClass('shrink'); } else { $('#navbar').removeClass('shrink'); } }); function getCurrentScroll() { return window.pageYOffset || document.documentElement.scrollTop; } }); // JavaScript Document $(document).ready(function() { var navTop = $('#navbar').offset().top; var navHeight = $('#navbar').height(); var windowH = $(window).height(); $('.section').height(windowH); $(document).scroll(function() { var st = $(this).scrollTop(); //for the nav bar: if (st > navTop) { $('#navbar').addClass('fix'); $('.section:eq(0)').css({ 'margin-top': navHeight }); //fix scrolling issue due to the fix nav bar } else { $('#navbar').removeClass('fix'); $('.section:eq(0)').css({ 'margin-top': '0' }); } $('.section').each(function(index, element) { if (st + navHeight > $(this).offset().top && st + navHeight <= $(this).offset().top + $(this).height()) { $(this).addClass('active'); var id = $(this).attr('id'); $('a[href="#' + id + '"]').parent('li').addClass('active'); // or $('#nav li:eq('+index+')').addClass('active'); } else { $(this).removeClass('active'); var id = $(this).attr('id'); $('a[href="#' + id + '"]').parent('li').removeClass('active'); //or $('#nav li:eq('+index+')').removeClass('active'); } }); }); });
 @charset "utf-8"; /* CSS Document */ * { font-family: 'Roboto', sans-serif; } #container { width: 1280px; height: 100%; margin-left: auto; margin-right: auto; } body { background-color: white; margin: 128px 0 0 0; } /* Navigation */ #navlinks { margin: 0; } ul { color: black; list-style: none; float: right; margin-right: 20px; padding-top: 30px; } ul li { display: inline-table; margin-left: 5px; padding: 5px; border-bottom: 1.5px solid; border-bottom-color: white; } ul li a { color: black; text-decoration: none; padding: 10px; } /* Smart Navbar / weiß, wo man auf der Seite ist von https://stackoverflow.com/questions/19697696/change-underline-of-active-nav-by-section */ #navbar.fix { position: fixed; top: 0; } #navbar li.active { border-bottom: 1.5px solid; border-bottom-color: #f6bd60; } /* Smart Navbar Ende */ /* fixed Navigation von https://codepen.io/malZiiirA/pen/cbfED?css-preprocessor=none */ #navbar { border-bottom-style: solid; border-bottom-width: 1.25px; box-shadow: 0px 2.5px 5px rgba(0, 0, 0, 0.2); background-color: white; height: 128px; transition: 0.32s; position: fixed; top: 0; width: 1280px; } #navbar.shrink { height: 80px; line-height: 18px; } #navbar li { font-size: 1.2rem; font-weight: normal; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; } #navbar.shrink li { font-size: 1.2rem; margin-top: -30px; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; } #navbar img { height: 128px; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; } #navbar.shrink img { height: 80px; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; transition: all 0.3s; margin: auto; } /* fixed nav Ende */ /* #spacer { height: 128px; border-bottom: 4px solid; } margin-top: 0 !important; */ #home { height: 100% !important; display: block; padding-top: 80px; z-index: -1; position: relative; top: -80px; } #wir-ueber-uns { height: 50px; display: block; margin-top: -80px; padding-top: 80px; z-index: -2; background-color: lightblue; position: relative; top: -80px; } #aktionen { height: 100%; display: block; margin-top: -80px; padding-top: 80px; z-index: -3; background-color: blue; position: relative; top: -80px; } #terminvereinbarung { height: 100%; display: block; margin-top: -80px; padding-top: 80px; z-index: -4; background-color: red; position: relative; top: -80px; } #infos { height: 100%; display: block; margin-top: -80px; padding-top: 80px; z-index: -5; background-color: yellow; position: relative; top: -80px; } #logo { margin-left: 50px; } #homebild { width: 100%; height: 100%; } footer { background-color: lightblue; display: grid; grid-template-columns: 426px 426px 450px; grid-template-rows: 500px; gap: 0px 0px; grid-template-areas: ". ."; } #impressum { line-height: 1.5rem; font-size: 1rem; padding-left: 30px; padding-top: 4rem; height: 500px; } h3 { font-size: 1.2rem; } h4 { font-size: 1.2rem; text-transform: uppercase; } #datenschutz { background-color: lightgreen; line-height: 1.5rem; font-size: 1rem; padding-left: 30px; padding-top: 4rem; } /* Hover Effekt bei Navigation von https://github.com/IanLunn/Hover/blob/master/css/hover.css */ .hvr-sweep-to-top { display: inline-block; vertical-align: middle; -webkit-transform: perspective(1px) translateZ(0); transform: perspective(1px) translateZ(0); box-shadow: 0 0 1px rgba(0, 0, 0, 0); position: relative; -webkit-transition-property: color; transition-property: color; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; } .hvr-sweep-to-top:before { content: ""; position: absolute; z-index: -1; top: 0; left: 0; right: 0; bottom: 0; background: #f6bd60; -webkit-transform: scaleY(0); transform: scaleY(0); -webkit-transform-origin: 50% 100%; transform-origin: 50% 100%; -webkit-transition-property: transform; transition-property: transform; -webkit-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-timing-function: ease-out; transition-timing-function: ease-out; } .hvr-sweep-to-top:hover, .hvr-sweep-to-top:focus, .hvr-sweep-to-top:active { color: white; } .hvr-sweep-to-top:hover:before, .hvr-sweep-to-top:focus:before, .hvr-sweep-to-top:active:before { -webkit-transform: scaleY(1); transform: scaleY(1); } /* Hover Effekt Ende */ /* Loader */ .loader { display: inline-block; width: 30px; height: 30px; position: relative; border: 4px solid #Fff; animation: loader 2s infinite ease; } .loader-inner { vertical-align: top; display: inline-block; width: 100%; background-color: #fff; animation: loader-inner 2s infinite ease-in; } @keyframes loader { 0% { transform: rotate(0deg); } 25% { transform: rotate(180deg); } 50% { transform: rotate(180deg); } 75% { transform: rotate(360deg); } 100% { transform: rotate(360deg); } } @keyframes loader-inner { 0% { height: 0%; } 25% { height: 0%; } 50% { height: 100%; } 75% { height: 100%; } 100% { height: 0%; } } .loader-wrapper { width: 100%; height: 100%; position: absolute; top: 0; left: 0; background-color: #242f3f; display: flex; align-items: center; justify-content: center; } /* loader Ende */
 <!DOCTYPE html> <html> <head> <title>OptikTack</title> <link href="style.css" rel="stylesheet" type="text/css"> <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet"> </head> <body> <div id="container"> <div class="body"> <!-- Navigation --> <nav id="navbar"> <script class="cssdeck" src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script> <script src="javascript/navbar fixed.js"></script> <a href="#home" id="logo"><img src="https://i.postimg.cc/przxCGcx/Logo.png"></a> <ul> <li class="hvr-sweep-to-top active"><a href="#home">Home</a></li> <li class="hvr-sweep-to-top"><a href="#wir-ueber-uns">Wir über uns</a></li> <li class="hvr-sweep-to-top"><a href="#aktionen">Aktionen</a></li> <li class="hvr-sweep-to-top"><a href="#terminvereinbarung">Terminvereinbarung</a></li> <li class="hvr-sweep-to-top"><a href="#infos">Infos</a></li> </ul> </nav> <!-- body --> <div id="spacer"></div> <!-- home section --> <section id="home" class="section"> <div> <img src="https://i.postimg.cc/tgk5cWmx/Bild-1.jpg" alt="Frau" id="homebild"> </div> </section> <!-- UberUns section --> <section id="wir-ueber-uns" class="section"> <div> <p>section 2</p> </div> </section> <!-- Aktionen section --> <div id="reference"></div> <section id="aktionen" class="section"> <div> <p>section 3</p> </div> </section> <!-- Terminvereinbarung section --> <section id="terminvereinbarung" class="section"> <div> <p>section 4</p> </div> </section> <!-- Infos section --> <section id="infos" class="section"> <div> <p>section 5</p> </div> </section> <footer> <div id="impressum"> <h3>Impressum</h3> <h4> Optik Tack GmbH </h4> <p> <!-- Icons von https://tablericons.com/ --> <!-- map Icon --> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-map-pin" width="16" height="16" viewBox="0 0 24 24" stroke-width="2" stroke="#607D8B" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <circle cx="12" cy="11" r="3" /> <path d="M17.657 16.657l-4.243 4.243a2 2 0 0 1 -2.827 0l-4.244 -4.243a8 8 0 1 1 11.314 0z" /> </svg> Mozartstraße 37 <br> 73430 Aalen <br> <!-- phone Icon --> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-phone" width="16" height="16" viewBox="0 0 24 24" stroke-width="2" stroke="#607D8B" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5l1.5 -2.5l5 2v4a2 2 0 0 1 -2 2a16 16 0 0 1 -15 -15a2 2 0 0 1 2 -2" /> </svg> Tel.: 07361/123451 <br> <!-- at Icon --> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-at" width="16" height="16" viewBox="0 0 24 24" stroke-width="2" stroke="#607D8B" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <circle cx="12" cy="12" r="4" /> <path d="M16 12v1.5a2.5 2.5 0 0 0 5 0v-1.5a9 9 0 1 0 -5.5 8.28" /> </svg> info@optik-tack.de <br> <!-- bookmark Icon --> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-bookmarks" width="16" height="16" viewBox="0 0 24 24" stroke-width="2" stroke="#607D8B" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M13 7a2 2 0 0 1 2 2v12l-5 -3l-5 3v-12a2 2 0 0 1 2 -2h6z" /> <path d="M9.265 4a2 2 0 0 1 1.735 -1h6a2 2 0 0 1 2 2v12l-1 -.6" /> </svg> www.optik-tack.de </p> <p> Geschäftsführer: Anton Tack <br> Amtsgericht Aalen <br> Handelsregister Nr. XXX000XXX, <br> Finanzamt Aalen <br> USt.IdNr.: DE10111011 <br> </p> </div> <div id="datenschutz"> <h3>Datenschutz</h3> <h4>Datenschutzhinweise</h4> <p>gemäß EU-Datenschutz-Grundverordnung (DSGVO)</p> </div> <div id="socialmedia"> <!-- Instagram Icon --> <a href="#"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-instagram" width="100" height="100" viewBox="0 0 24 24" stroke-width="1.5" stroke="#607D8B" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <rect x="4" y="4" width="16" height="16" rx="4" /> <circle cx="12" cy="12" r="3" /> <line x1="16.5" y1="7.5" x2="16.5" y2="7.501" /> </svg></a> <br> <!-- Facebook Icon --> <a href="#"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-facebook" width="100" height="100" viewBox="0 0 24 24" stroke-width="1.5" stroke="#607D8B" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <path d="M7 10v4h3v7h4v-7h3l1 -4h-4v-2a1 1 0 0 1 1 -1h3v-4h-3a5 5 0 0 0 -5 5v2h-3" /> </svg> </a><br> <!-- Pinterest Icon --> <a href="#"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-pinterest" width="100" height="100" viewBox="0 0 24 24" stroke-width="1.5" stroke="#607D8B" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none" /> <line x1="8" y1="20" x2="12" y2="11" /> <path d="M10.7 14c.437 1.263 1.43 2 2.55 2c2.071 0 3.75 -1.554 3.75 -4a5 5 0 1 0 -9.7 1.7" /> <circle cx="12" cy="12" r="9" /> </svg></a> <!-- Icons Ende --> </div> </footer> </div> </div> <!-- Animation am Anfang vom Laden der Seite --> <div class="loader-wrapper"> <span class="loader"><span class="loader-inner"></span></span> </div> <script> $(window).on("load", function() { $(".loader-wrapper").fadeOut("slow"); }); </script> <!-- Animation Ende --> <!-- Smooth Scroll --> <script> $('a').click(function() { $('html, body').animate({ scrollTop: $($(this).attr('href')).offset().top }, 500); return false; }); </script> <!-- Smooth Scroll Ende --> </body> </html>

I had to change it to this:

#home {
  height: 100% !important;
  display: block;
  padding-top: 128px;
  z-index: -1;
  position: relative;
  top: -128px;
}

update your CSS code

body {
  background-color: white;
/*  margin: 128px 0 0 0; */  comment this line or change to margin:0px; 
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM