website/components/Header.css

118 lines
1.9 KiB
CSS

header {
width: 100%;
padding: 0;
margin: 0;
background-color: var(--_translucent);
color: var(--_font-color);
user-select: none;
}
header div {
max-width: var(--_wide-screen);
margin: auto;
padding: var(--_gap);
display: flex;
gap: var(--_gap);
}
header span {
text-wrap: nowrap;
padding: var(--_gap);
font-size: large;
font-weight: bolder;
& a {
text-decoration: none;
}
}
header nav {
margin: 0;
padding: 0;
width: 100%;
display: flex;
gap: var(--_gap);
align-items: center;
& > li {
list-style: none;
transition: border var(--_transition-delay) ease;
border: var(--_border-size) solid transparent;
& > a {
display: inline-block;
text-decoration: none;
}
& > * {
padding: var(--_gap-half) var(--_gap);
}
}
& > li:hover {
border: var(--_border-size) solid currentColor;
}
& > li:has(details[open]) {
border: var(--_border-size) solid currentColor;
}
}
header details {
cursor: pointer;
& summary {
display: flex;
gap: var(--_gap);
list-style: none;
&::after {
display: inline-block;
content: '▽';
transition: all var(--_transition-delay) ease;
}
}
&[open] summary::after {
transform: rotate(60deg);
}
& ul {
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
position: absolute;
background-color: var(--_translucent);
backdrop-filter: blur(var(--_blur));
border: var(--_border-size) solid currentColor;
border-top: none;
transform: translate(
calc(-1 * var(--_gap) - 2px),
calc(var(--_gap-half) + 2px)
);
}
& li {
list-style: none;
border: none;
}
& li:hover {
background-color: var(--_translucent);
}
& a {
text-decoration: none;
padding: var(--_gap) calc(var(--_gap) + 0.24rem);
display: inline-block;
}
}
header input {
padding: var(--_gap-half) var(--_gap);
align-self: center;
border: none;
background-color: var(--_translucent);
}