<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;
}
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.