Files
asciidisco.com/css/components/menu.css
2023-08-01 13:49:46 +02:00

148 lines
4.1 KiB
CSS

nav {
display: flex;
justify-content: flex-start;
min-width: 100%;
margin: 0;
padding: 0;
background-color: #212121;
box-shadow: 0px 3px 5px rgba(100, 100, 100, 0.49);
line-height: 2em}
nav > a::before {
display: flex;
max-height: 45px;
margin: 0 auto;
font-weight: normal;
font-size: 6px;
white-space: pre;
line-height: 1em;
text-decoration: none;
content: " __ \a __ __ /\\ \\ __ \a __ ____ ___ /\\_\\/\\_\\ \\_\\ \\/\\_\\ ____ ___ ___ \a /'__`\\ /',__\\ /'___\\/\\ \\/\\ \\ /'_` \\/\\ \\ /',__\\ /'___\\ / __`\\ \a /\\ \\L\\.\\_/\\__, `\\/\\ \\__/\\ \\ \\ \\ \\/\\ \\L\\ \\ \\ \\/\\__, `\\/\\ \\__//\\ \\L\\ \\ \a \\ \\__/.\\_\\/\\____/\\ \\____\\\\ \\_\\ \\_\\ \\___,_\\ \\_\\/\\____/\\ \\____\\ \\____/ \a \\/__/\\/_/\\/___/ \\/____/ \\/_/\\/_/\\/__,_ /\\/_/\\/___/ \\/____/\\/___/ "}
nav > a {
display: flex;
max-height: 45px;
width: 300px;
margin: 0 auto;
color: transparent;
text-decoration: none;
line-height: 0;
font-size: 0}
nav > ul {
display: flex;
min-height: 45px;
max-height: 45px;
width: 35rem;
margin: 0 auto;
padding: 0;
overflow-y: hidden;
list-style-type: none}
nav > ul > li {
display: flex;
align-items: center;
justify-content: center;
min-width: 110px;
padding: 0;
background-repeat: no-repeat;
background-position-y: -50px;
background-size: 250px}
nav > ul > li:nth-child(1) {background-image: url('/img/menu/invader_1.svg')}
nav > ul > li:nth-child(2) {background-image: url('/img/menu/invader_2.svg')}
nav > ul > li:nth-child(3) {background-image: url('/img/menu/invader_3.svg')}
nav > ul > li:nth-child(4) {background-image: url('/img/menu/invader_4.svg')}
nav > ul > li:nth-child(5) {background-image: url('/img/menu/invader_5.svg')}
nav > input, nav > label {display: none}
nav > ul > li > a {
display: flex;
padding: 1rem;
font-size: 1rem;
line-height: 1rem;
text-decoration: none;
text-align: center;
text-transform: uppercase;
background-color: transparent;
background-repeat: no-repeat;
transition: padding-top .75s}
@media (max-width: 860px){
nav {
display: block;
height: 80px}
nav > a::before {
width: 80vw;
max-height: 80px;
margin-left: 3vw;
margin-top: 1vh;
font-size: 1.6vw}
nav > a {
width: 40vw;
max-height: 80px;
margin: 0;
font-size: 0}
nav > ul {
position: fixed;
box-sizing: border-box;
display: block;
width: 100%;
max-height: 0px;
min-height: 0px;
padding: 0;
text-align: center;
list-style-type: none;
transition: height .5s linear}
nav > ul > li {
border-bottom: 2px solid #212121;
display: block;
font-size: 2vh;
padding: 2em 0}
nav > ul > li > a {
display: flex;
justify-content: center;
font-size: 5vh}
nav > input:checked ~ ul {max-height: 100vh}
nav > input:checked ~ label {text-decoration: line-through}
nav > label {
display: flex;
justify-content: center;
position: fixed;
top: 2vh;
right: .5rem;
width: 7vw;
min-width: 45px;
max-width: 60px;
max-height: 60px;
margin: 0;
padding: 0;
font-size: 1rem;
line-height: 6rem;
text-align: center;
background: linear-gradient(to bottom, #fff 0%, #fff 10%, transparent 10%, transparent 20%, #fff 20%, #fff 30%, transparent 30%, transparent 40%, #fff 40%, #fff 50%, transparent 50%);
cursor: pointer}
}
@media screen and (min-width: 861px) {
nav > ul > li {transition: background-position-y .75s}
nav > ul > li:nth-child(1) {background-position-x: 19px}
nav > ul > li:nth-child(2) {background-position-x: -47px}
nav > ul > li:nth-child(3) {background-position-x: -110px}
nav > ul > li:nth-child(4) {background-position-x: -165px}
nav > ul > li:nth-child(5) {
background-position-y: -80px;
background-position-x: 3px}
nav > ul > li:hover {background-position-y: -5px}
nav > ul > li:nth-child(5):hover {background-position-y: -7px}
nav > ul > li:hover > a {padding-top: 125px}
}