Files
caldwell/assets/sass/header.scss
Nikolaos Karaolidis ff3c10cfd2 Add hover coloring
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-08-06 12:32:59 +02:00

140 lines
2.6 KiB
SCSS

.header {
padding: 2rem;
.header-container {
max-width: $width-max;
width: 100%;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
.site-title {
font-size: 1.5rem;
a {
text-decoration: none;
color: inherit;
}
a:hover {
color: var(--text-900);
}
}
.nav {
ul {
display: flex;
gap: 2.5rem;
margin: 0;
padding: 0;
list-style: none;
li a {
font-size: 0.85rem;
text-decoration: none;
color: inherit;
display: block;
}
li a:hover {
color: var(--text-900);
}
}
}
.nav-toggle {
display: none;
}
.nav-toggle-label {
display: none;
}
}
}
@media (max-width: $width-mobile) {
$nav-toggle-label-height: 0.75rem;
$nav-toggle-label-width: 1.5rem;
$nav-toggle-span-height: 0.125rem;
.header {
padding: 1rem;
.header-container {
.site-title {
z-index: 1;
}
.nav {
position: fixed;
inset: 0;
display: flex;
flex-direction: column;
justify-content: center;
opacity: 0;
background: var(--color-bg);
transition: opacity 0.3s ease;
pointer-events: none;
ul {
flex-direction: column;
align-items: center;
gap: 2rem;
li a {
font-size: 1.25rem;
}
}
}
.nav-toggle-label {
z-index: 1;
display: flex;
flex-direction: column;
justify-content: space-between;
width: $nav-toggle-label-width;
height: $nav-toggle-label-height;
cursor: pointer;
span {
display: block;
height: $nav-toggle-span-height;
width: 100%;
border-radius: 1px;
background: currentColor;
transition:
transform 0.3s ease,
opacity 0.3s ease;
}
}
.nav-toggle:checked + .nav-toggle-label + .nav {
opacity: 1;
pointer-events: auto;
}
$translate-distance: (
$nav-toggle-label-height - $nav-toggle-span-height
) /
2;
.nav-toggle:checked + .nav-toggle-label span:nth-child(1) {
transform: translateY($translate-distance) rotate(45deg);
}
.nav-toggle:checked + .nav-toggle-label span:nth-child(2) {
transform: translateY(-$translate-distance) rotate(-45deg);
}
}
}
}