JSFiddle - React, Tailwind, and code Playground

HTML

<a id="nav1"></a>
<a id="nav2"></a>
<a id="nav3"></a>
<header class="nav">
    <nav>
        <ul>
            <li><a href="#nav1">Home</a> </li>
            <li><a href="#nav2">About</a></li>
            <li><a href="#nav3">Contact</a></li>
        </ul>
    </nav>
</header>

<section id="main">
    <article class="article" id="nav1">
        <p>Big Tech Ideas Page3</p>
    </article>
    
    <article class="article" id="nav2">
        <p>Blah </p>
    </article>
    
    <article class="article" id="contacto">
        <p>Big Tech Ideas Page3</p>
    </article>
</section>

CSS

nav > ul > li{
  list-style:none;
  display:inline;
  position:absolute;
  padding:10px;
}
a[id= "nav1"]:target ~ #main article.article {
    -webkit-transform: translateY( 0px);
    transform: translateY( 0px );
}

a[id= "nav2"]:target ~ #main article.article {
    -webkit-transform: translateY( -500px );
    transform: translateY( -500px );
}
a[id= "nav3"]:target ~ #main article.article {
    -webkit-transform: translateY( -1000px );
    transform: translateY( -1000px );
}

header {
    position: fixed; 
    z-index: 10; 
}

.article {
    width: 100%;
    height: 500px;
    z-index:0; 
    -webkit-transform: translateZ( 0 );
    transform: translateZ( 0 );
    -webkit-transition: -webkit-transform 2s ease-in-out;
    transition: transform 2s ease-in-out;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.article p {
    font-family: sans-serif;
    font-size: 64px;
    font-size: 4rem;
    position:relative;
    line-height: 200px;
    text-align: center;
    margin: 0;
}