JSFiddle - React, Tailwind, and code Playground
by letanure
HTML
<div class="secao" id="quemsomos">
Quem Somos<br>
Quem Somos<br>
Quem Somos<br>
Quem Somos<br>
Quem Somos<br>
Quem Somos<br>
Quem Somos<br>
Quem Somos<br>
Quem Somos<br>
Quem Somos<br>
Quem Somos<br>
Quem Somos<br>
Quem Somos<br>
Quem Somos<br>
Quem Somos<br>
Quem Somos<br>
Quem Somos<br>
Quem Somos<br>
</div>
<div class="secao" id="produtos">
Produtos<br>
Produtos<br>
Produtos<br>
Produtos<br>
Produtos<br>
Produtos<br>
Produtos<br>
Produtos<br>
Produtos<br>
Produtos<br>
Produtos<br>
Produtos<br>
Produtos<br>
Produtos<br>
Produtos<br>
Produtos<br>
</div>
<div class="secao" id="Contato">
Contato<br>
Contato<br>
Contato<br>
Contato<br>
Contato<br>
Contato<br>
Contato<br>
Contato<br>
Contato<br>
Contato<br>
Contato<br>
Contato<br>
</div>
<ul>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
...
CSS
*{
margin: 0;
padding: 0;
}
.secao{
color: #ffffff;
position: relative;
}
.stick{
position: fixed;
top: 0;
left: 0;
width: 100%;
}
#quemsomos{
background: #b60000;
z-index: 1;
}
#produtos{
background: #e2b500;
z-index: 2;
}
#Contato{
background: #00b640;
z-index: 3;
margin-bottom: 600px;
}
JavaScript
$(document).on('scroll', function(){
var window_top = $(document).scrollTop();
$('.secao').each(function(i,s){
var div_top = $(this).offset().top;
if (div_top - window_top <= 0) {
$('.stick').removeClass('stick');
$(this).addClass('stick');
$('body').css('padding-top', $(this).height() )
} else {
$(this).removeClass('stick');
}
})
}).trigger('scroll');