<section style="overflow: auto;">
  <p class="center">Scroll this section area to see the sticky headings in action</p>
  <article>
    <h2 class="sticky-heading">Heading 1</h2>
    <div class="content">
      <p>
        Lorem ipsum dolor sit amet consectetur adipisicing elit. Eos non,
        aut dolor cupiditate repudiandae vel pariatur, nemo velit corrupti
        eaque reiciendis excepturi, minima ipsa! A nobis.
      </p>
      <p>
        Ipsum alias ipsa sed doloribus corporis ab pariatur saepe, optio
        neque fugit est id voluptas quam ullam qui inventore maiores omnis
        nihil esse labore explicabo nobis ipsam! Vero.
      </p>
    </div>
  </article>
  <article>
    <h2 class="sticky-heading">Heading 2</h2>
    <div class="content">
      <p>
        Lorem ipsum dolor sit amet consectetur adipisicing elit. Eos non,
        aut dolor cupiditate repudiandae vel pariatur, nemo velit corrupti
        eaque reiciendis excepturi, minima ipsa! A nobis.
      </p>
      <p>
        Ipsum alias ipsa sed doloribus corporis ab pariatur saepe, optio
        neque fugit est id voluptas quam ullam qui inventore maiores omnis
        nihil esse labore explicabo nobis ipsam! Vero.
      </p>
    </div>
  </article>
  <article>
    <h2 class="sticky-heading">Heading 3</h2>
    <div class="content">
      <p>
        Lorem ipsum dolor sit amet consectetur adipisicing elit. Eos non,
        aut dolor cupiditate repudiandae vel pariatur, nemo velit corrupti
        eaque reiciendis excepturi, minima ipsa! A nobis.
      </p>
      <p>
        Ipsum alias ipsa sed doloribus corporis ab pariatur saepe, optio
        neque fugit est id voluptas quam ullam qui inventore maiores omnis
        nihil esse labore explicabo nobis ipsam! Vero.
      </p>
    </div>
  </article>
  <article>
    <h2 class="sticky-heading">Heading 4</h2>
    <div class="content">
      <p>
        Lorem ipsum dolor sit amet consectetur adipisicing elit. Eos non,
        aut dolor cupiditate repudiandae vel pariatur, nemo velit corrupti
        eaque reiciendis excepturi, minima ipsa! A nobis.
      </p>
      <p>
        Ipsum alias ipsa sed doloribus corporis ab pariatur saepe, optio
        neque fugit est id voluptas quam ullam qui inventore maiores omnis
        nihil esse labore explicabo nobis ipsam! Vero.
      </p>
    </div>
  </article>
  <article>
    <h2 class="sticky-heading">Heading 5</h2>
    <div class="content">
      <p>
        Lorem ipsum dolor sit amet consectetur adipisicing elit. Eos non,
        aut dolor cupiditate repudiandae vel pariatur, nemo velit corrupti
        eaque reiciendis excepturi, minima ipsa! A nobis.
      </p>
      <p>
        Ipsum alias ipsa sed doloribus corporis ab pariatur saepe, optio
        neque fugit est id voluptas quam ullam qui inventore maiores omnis
        nihil esse labore explicabo nobis ipsam! Vero.
      </p>
    </div>
  </article>
</section>
.sticky-heading {
  position: sticky;
  top: 0;
}

article {
  align-items: start;
  padding: 0.6rem;
}

/* Base Styles */

* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

body {
  font-family: Arial, sans-serif;  
  color: #333;
}

section {
  overflow: auto;
  max-width: 60ch;
  margin: 3rem 1rem 100vh;
  border: 2px solid;
  height: 200px;
}

h2 {
  font-size: 20px;
  background-color: #fff;
  padding: 0.5rem 0;
}

p {
  margin-bottom: 16px;
  line-height: 1.6;
  font-size: 15.4px;
  font-weight: 400;
}

.content p:last-child {
  margin-bottom: 0;
}

.center {
  text-align: center;
}

@media screen and (min-width: 480px) {
  article {
    display: grid;
    column-gap: 2rem;
    grid-template-columns: 150px 1fr;
  }
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.