JSFiddle - React, Tailwind, and code Playground
by HcJanni
HTML
<nav id="navwrapper">
<script class="cssdeck" src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script src="javascript/navbar fixed.js"></script>
<div id="navbar" class="navbar navbar-dark bg-primary navbar-fixed-top">
<h1 id="titel">HEADLINE</h1>
<ul>
<li class="nav-item"><a href="#home" class="nav-link">
<h2>content1</h2>
</a></li>
<li class="nav-item"><a href="#wir-ueber-uns" class="nav-link">
<h2>content2</h2>
</a></li>
<li class="nav-item"><a href="#aktionen" class="nav-link">
<h2>content3</h2>
</a></li>
<li class="nav-item"><a href="#terminvereinbarung" class="nav-link">
<h2>content4</h2>
</a></li>
<li class="nav-item"><a href="#infos" class="nav-link">
<h2>content5</h2>
</a></li>
</ul>
</div>
</nav>
<section id="content1">
<div>
Lorem ipsum
</div>
</section>
<section id="content2">
<div>
Lorem ipsum
</div>
</section>
<section id="content3">
<div>
Lorem ipsum
</div>
</section>
<section id="content4">
<div>
Lorem ipsum
</div>
</section>
<section id="content5">
<div>
Lorem ipsum
</div>
</section>
CSS
* {
margin: 0;
padding: 0;
font-family: helvetica;
}
body {
height: 300vh;
}
h1 {
text-align: center;
font-size: 5rem;
top: 2vh;
position: relative;
}
h2 {
text-align: center;
font-weight: 300;
margin-top: 3vh;
font-size: 1rem;
}
ul {
list-style: none;
text-align: center;
}
ul li {
display: inline-table;
margin-left: 0.25vw;
padding: 0.25vw;
}
a {
color: #fff;
text-transform: uppercase;
text-decoration: none;
letter-spacing: 0.15em;
display: inline-block;
padding: 15px 20px;
position: relative;
}
#navbar {
text-align: center;
width: 100%;
color: white;
z-index: 999;
transition: 0.3s;
}
#navwrapper {
background: linear-gradient(250deg, #0061ff, #60efff);
background-size: 400% 400%;
height: 250px;
}
#navbar.shrink {
height: 130px;
line-height: 18px;
position: fixed;
background-color: lightgray !important;
transition: 0.3s;
}
#navbar.shrink li {
font-size: 1.2rem;
margin-top: 1.5vh;
transition: 0.3s;
}
#navbar.shrink a {
color: #343a40 !important;
}
#navbar.shrink a:after {
background: none repeat scroll 0 0 transparent;
bottom: 0;
content: "";
display: block;
height: 2px;
position: absolute;
background: #343a40 !important;
}
#navbar.shrink h1 {
font-size: 4rem;
color: #343a40;
top: 2vh;
transition: 0.3s;
}
JavaScript
$(function() {
var shrinkHeader = 50;
$(window).scroll(function() {
var scroll = getCurrentScroll();
if (scroll >= shrinkHeader) {
$('#navbar').addClass('shrink');
} else {
$('#navbar').removeClass('shrink');
}
});
function getCurrentScroll() {
return window.pageYOffset || document.documentElement.scrollTop;
}
});