<nav role="navigation" aria-label="Pagination">
  <ul class="pagination">
    <li><a href="#">Previous</a></li>
    <li><a href="#" aria-current="true">1</a></li>
    <li><a href="#">2</a></li>
    <li><a href="#">3</a></li>
    <li><a href="#">4</a></li>
    <li><a href="#">5</a></li>
    <li><a href="#">Next</a></li>
  </ul>
</nav>
:root {
  --color-light: hsl(40 75% 90%);
  --color-dark: hsl(40 75% 10%);
  --font: Merriweather, serif;
  --size: 10px;
}

html {
  font-size: 18px;
}

body {
  background: var(--color-light);
  padding: calc(var(--size) * 5);
}

nav {
  container: pagination / inline-size;
  font-family: var(--font);
  font-size: 1.2rem;
  display: grid;
  justify-content: center;
}

.pagination {
  display: flex;
  gap: 3cqi;
  list-style: "";
  margin: 0;
  padding-inline-start: 0;
}

.pagination li {
  line-height: 1;
}

.pagination li a {
  border: 1px solid var(--color-dark);
  padding: var(--size) calc(var(--size) * 2);
  background: var(--color-light);
  color: var(--color-dark);
  text-decoration: none;
  border-radius: 4px;
  
  &:hover {
    background: hsl(from hsl(40 75% 20%) h s 70%);
  }
  
  &[aria-current="true"] {
    background: var(--color-dark);
    color: var(--color-light)
  }
}

@container pagination (width < 40ch) {
  .pagination {
    gap: calc(var(--size) * 5);
    justify-content: space-between;
  }
  
  li:not(:first-child, :last-child) {
    display: none;
  }
}
Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.