Smooth Scrolling Behavior
Today I'm testing out smooth scrolling. I heard about it on the most recent episode of the Smashing Podcast featuring Chris Ferdinandi.
First Section
Vivamus fermentum velit diam, quis porttitor lacus pretium eu. Quisque neque sem, dapibus eu fringilla ac, malesuada nec tellus. Aliquam vitae ex vitae augue ultrices malesuada. Mauris gravida dui vel dui elementum aliquam. Nam vestibulum pellentesque dui.
Second Section
Donec venenatis commodo mauris eu sagittis. Maecenas ultrices dignissim magna et gravida. Sed a mollis felis. Donec sagittis, massa sit amet tincidunt sodales, ex metus fermentum velit, ut venenatis tellus nunc eu magna.
Third Section
Morbi elit dolor, luctus a malesuada non, elementum et purus. Maecenas eu molestie elit. Quisque quis dui ultrices, accumsan turpis nec, fermentum diam. Suspendisse potenti. Nunc a odio mollis, dapibus odio at, hendrerit lorem. Nam nec pharetra sapien. Etiam condimentum eget libero ut faucibus.
View the code:
HTML and JS
<div class="codedoodle-block">
<ul class="nav-test">
<li><a href="#first">First</a></li>
<li><a href="#second">Second</a></li>
<li><a href="#third">Third</a></li>
</ul>
<div class="scroll-container">
<h2 class="spaced" id="first">First Section</h2>
<p>Vivamus fermentum velit diam, quis porttitor lacus pretium eu. Quisque neque sem, dapibus eu fringilla ac, malesuada nec tellus. Aliquam vitae ex vitae augue ultrices malesuada. Mauris gravida dui vel dui elementum aliquam. Nam vestibulum pellentesque dui.</p>
<h2 class="spaced" id="second">Second Section</h2>
<p>Donec venenatis commodo mauris eu sagittis. Maecenas ultrices dignissim magna et gravida. Sed a mollis felis. Donec sagittis, massa sit amet tincidunt sodales, ex metus fermentum velit, ut venenatis tellus nunc eu magna.</p>
<h2 class="spaced" id="third">Third Section</h2>
<p>Morbi elit dolor, luctus a malesuada non, elementum et purus. Maecenas eu molestie elit. Quisque quis dui ultrices, accumsan turpis nec, fermentum diam. Suspendisse potenti. Nunc a odio mollis, dapibus odio at, hendrerit lorem. Nam nec pharetra sapien. Etiam condimentum eget libero ut faucibus.</p>
</div>
</div>
CSS
.scroll-container {
scroll-behavior: smooth;
display: block;
width: 100%;
height: 12em;
margin: 0 auto;
overflow-y: scroll;
}
.codedoodle-block {
display: block;
background-color: #00000022;
padding: 1rem;
margin: 2rem auto;
max-width: 40em;
}
.spaced {
margin-top: 2rem;
}
.nav-test {
display: flex;
flex-flow: row;
justify-content: space-around;
align-content: center;
padding: 0;
}
.nav-testl li {
text-align: center;
padding: .25rem .5rem;
}