Files
com.xaymar.www/_sass/_header.scss
T
Michael Fabian 'Xaymar' Dirks 086d821e5b Fix poor navigation
2022-03-06 09:00:30 +01:00

273 lines
5.1 KiB
SCSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@keyframes menu_show {
from {
display: none;
opacity: 0.0;
}
0% {
display: block;
}
to {
display: block;
opacity: 1.0;
}
}
@keyframes menu_hide {
from {
display: none;
opacity: 0.0;
}
0% {
display: block;
}
to {
display: block;
opacity: 1.0;
}
}
// --------------------------------------------------------------------------------
// Header
// --------------------------------------------------------------------------------
#header {
padding: 5px;
background: $theme-header-background;
color: $theme-header-color;
}
#header > .content {
display: grid;
grid-template-columns: min-content auto;
max-width: $theme-width;
margin-left: auto;
margin-right: auto;
}
// --------------------------------------------------------------------------------
// Header > Logo
// --------------------------------------------------------------------------------
#header > .content .logo {
display: grid;
grid-template-columns: auto 1fr;
margin: 0 20px 0 0;
padding: 0;
}
#header > .content .logo > .icon {
justify-self: stretch;
align-self: stretch;
height: 90px;
margin: 0 10px 0 0;
padding: 0;
}
#header > .content .logo > figcaption {
justify-self: left;
align-self: center;
margin: 0;
padding: 0;
font-family: "Oswald";
font-size: 2.0rem;
font-weight: bold;
text-transform: uppercase;
letter-spacing: .20ch;
}
// --------------------------------------------------------------------------------
// Header > Navigation
// --------------------------------------------------------------------------------
#navigation {
font-size: 1.0rem;
color: $theme-menu-color;
}
#navigation .menu {
list-style: none inside;
}
#navigation .menu > .entry > .item {
color: $theme-menu-color;
}
#navigation .menu > .entry > .item:hover,
#navigation .menu > .entry > .item:active,
#navigation .menu > .entry > .item:focus {
color: $theme-menu-color-active;
}
// Responsive Layout
@media (max-width: 767px), (hover: none), (hover: on-demand) {
#navigation-toggle {
justify-self: stretch;
align-self: center;
display: block;
margin: 0;
padding: 0rem 2.5rem;
text-align: right;
font-size: 3.0rem;
color: $theme-menu-color;
}
#navigation {
grid-column-start: span 2;
}
// Show/Hide menu
#navigation {
display: none;
}
#navigation.open {
display: block;
}
#navigation .menu {
margin: 0;
padding: 0;
background: transparent;
}
#navigation .menu .menu {
padding-left: 1.5rem;
background: $theme-menu-background;
box-shadow: 2px 2px 5px 0px black;
}
#navigation .item {
display: block;
padding: 1.0rem 0rem;
//border: 1px solid $theme-menu-background;
transition: color 250ms linear;
}
}
@media (min-width: 768px) and (hover: hover) {
#navigation-toggle {
display: none;
}
#navigation {
justify-self: stretch;
align-self: center;
}
/* Menu - Base Style */
#navigation .menu {
/* Menu - Menu Style */
position: absolute;
margin: 0;
padding: .25em .25em;
z-index: 1;
background: $theme-menu-background;
box-shadow: 2px 2px 5px 2px black;
text-transform: none;
}
#navigation .menu > .entry {
/* Menu - Entry Style */
display: block;
margin: 0;
padding: 0;
cursor: default;
}
#navigation .menu > .entry > span,
#navigation .menu > .entry > a {
/* Menu - Link Style */
display: block;
padding: .67em .67em;
white-space: nowrap;
cursor: pointer;
}
#navigation .menu > .entry > span {
cursor: default;
}
#navigation .has-menu > .menu {
/* Menu - Sub-menu Style */
position: absolute;
display: none;
min-width: 5em;
pointer-events: none;
animation-name: menu_hide;
animation-duration: 100ms;
animation-fill-mode: both;
animation-direction: reverse;
}
#navigation .has-menu:hover > .menu,
#navigation .has-menu > .menu:hover,
#navigation .has-menu:focus > .menu,
#navigation .has-menu > .menu:focus,
#navigation .has-menu:active > .menu,
#navigation .has-menu > .menu:active {
display: block;
pointer-events: auto;
animation-name: menu_show;
animation-duration: 100ms;
animation-fill-mode: both;
animation-direction: normal;
}
#navigation .has-menu > .menu > .has-menu > span:after,
#navigation .has-menu > .menu > .has-menu > a:after {
/* Menu - Entry with Sub-Menu inside of Top-Level Menu */
content: "";
}
#navigation .has-menu > .menu > .has-menu > .menu {
/* Menu - Sub-Menu in Sub-Menu */
left: calc(100% - .5em);
//right: -200px;
z-index: 2;
}
/* 1st Level Menu */
#navigation > .menu {
position: relative;
z-index: auto;
text-transform: uppercase;
background: transparent;
box-shadow: none;
}
#navigation > .menu > .entry {
display: inline-block;
padding: 0.25em 0;
margin: 0;
}
#navigation > .menu > .has-menu > .menu {
top: 1.50em;
}
#navigation > .menu > .entry > span,
#navigation > .menu > .entry > a {
padding: 0 .5em 0 0;
}
/* Menu with Menu
#navigation .menu > li > .menu {
display: block;
position: absolute;
padding: 0px .5em;
margin: 0;
cursor: auto;
background: $theme-menu-background;
box-shadow: 2px 2px 5px 0px black;
}
#navigation .menu > li > .menu > li {
display: block;
padding: 0 .5em;
margin: 0;
}
*/
}