Break up and optimize dropdown styling.
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
<li class="nav_body"><a class="nav_title" href="#">Home</a></li>
|
<li class="nav_body"><a class="nav_title" href="#">Home</a></li>
|
||||||
|
|
||||||
<!-- Minecraft -->
|
<!-- Minecraft -->
|
||||||
<li class="dropdown">
|
<li class="nav_dropdown">
|
||||||
<div class="dropdown_header nav_body">
|
<div class="dropdown_header nav_body">
|
||||||
<p class="nav_title" href="#">Minecraft</p>
|
<p class="nav_title" href="#">Minecraft</p>
|
||||||
<ion-icon name="chevron-forward-outline"></ion-icon>
|
<ion-icon name="chevron-forward-outline"></ion-icon>
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
<li class="nav_body"><a class="nav_title" href="#">About</a></li>
|
<li class="nav_body"><a class="nav_title" href="#">About</a></li>
|
||||||
|
|
||||||
<!-- Pronoun Pages -->
|
<!-- Pronoun Pages -->
|
||||||
<li class="dropdown">
|
<li class="nav_dropdown">
|
||||||
<div class="dropdown_header nav_body">
|
<div class="dropdown_header nav_body">
|
||||||
<a class="nav_title" href="https://pronouns.page/@Cutieguwu">Pronoun Pages</a>
|
<a class="nav_title" href="https://pronouns.page/@Cutieguwu">Pronoun Pages</a>
|
||||||
<ion-icon name="chevron-forward-outline"></ion-icon>
|
<ion-icon name="chevron-forward-outline"></ion-icon>
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
</li>
|
</li>
|
||||||
|
|
||||||
<!-- External Links -->
|
<!-- External Links -->
|
||||||
<li class="dropdown">
|
<li class="nav_dropdown">
|
||||||
<div class="dropdown_header nav_body">
|
<div class="dropdown_header nav_body">
|
||||||
<p class="nav_title">External Links</p>
|
<p class="nav_title">External Links</p>
|
||||||
<ion-icon name="chevron-forward-outline"></ion-icon>
|
<ion-icon name="chevron-forward-outline"></ion-icon>
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
<!-- Public Services -->
|
<!-- Public Services -->
|
||||||
<li class="dropdown">
|
<li class="nav_dropdown">
|
||||||
<div class="dropdown_header nav_body">
|
<div class="dropdown_header nav_body">
|
||||||
<p class="nav_title">Public Services</p>
|
<p class="nav_title">Public Services</p>
|
||||||
<ion-icon name="chevron-forward-outline"></ion-icon>
|
<ion-icon name="chevron-forward-outline"></ion-icon>
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
</li>
|
</li>
|
||||||
|
|
||||||
<!-- Services -->
|
<!-- Services -->
|
||||||
<li class="dropdown">
|
<li class="nav_dropdown">
|
||||||
<div class="dropdown_header nav_body">
|
<div class="dropdown_header nav_body">
|
||||||
<p class="nav_title">Services</p>
|
<p class="nav_title">Services</p>
|
||||||
<ion-icon name="chevron-forward-outline"></ion-icon>
|
<ion-icon name="chevron-forward-outline"></ion-icon>
|
||||||
|
|||||||
39
src/partials/_nav_dropdown.scss
Normal file
39
src/partials/_nav_dropdown.scss
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
.nav_dropdown {
|
||||||
|
.dropdown_header {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr min-content;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
ion-icon {
|
||||||
|
/*
|
||||||
|
This one aligns visually odd if trying to use the same margins as it's neighbouring nav_title class.
|
||||||
|
*/
|
||||||
|
margin-right: 0.5rem;
|
||||||
|
|
||||||
|
align-self: center;
|
||||||
|
transition-duration: 0.25s;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown_body {
|
||||||
|
display: none;
|
||||||
|
border-bottom-left-radius: var(--border-radius-small);
|
||||||
|
border-bottom-right-radius: var(--border-radius-small);
|
||||||
|
background-color: var(--background-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav_dropdown:hover {
|
||||||
|
.dropdown_header {
|
||||||
|
transform: var(--transform-scale-x);
|
||||||
|
|
||||||
|
ion-icon {
|
||||||
|
rotate: 90deg;
|
||||||
|
transition-duration: 0.25s;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.dropdown_body {
|
||||||
|
display: grid;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,3 +1,6 @@
|
|||||||
|
@use "nav_dropdown";
|
||||||
|
@use "nav_title";
|
||||||
|
|
||||||
.nav_menu {
|
.nav_menu {
|
||||||
/*
|
/*
|
||||||
Remove default padding and style applied to ul for bullets.
|
Remove default padding and style applied to ul for bullets.
|
||||||
@@ -22,8 +25,7 @@
|
|||||||
transition: var(--transition-fade);
|
transition: var(--transition-fade);
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown:hover .nav_body,
|
.nav_dropdown:hover .nav_body,
|
||||||
.dropdown .nav_body:hover,
|
|
||||||
.nav_body:hover {
|
.nav_body:hover {
|
||||||
transform: var(--transform-scale-x);
|
transform: var(--transform-scale-x);
|
||||||
transition: var(--transition-cut);
|
transition: var(--transition-cut);
|
||||||
@@ -34,66 +36,4 @@
|
|||||||
transition: var(--transition-cut);
|
transition: var(--transition-cut);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown {
|
|
||||||
.dropdown_header {
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns: 1fr min-content;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
ion-icon {
|
|
||||||
/*
|
|
||||||
This one aligns visually odd if trying to use the same margins as it's neighbouring nav_title class.
|
|
||||||
*/
|
|
||||||
margin-right: 0.5rem;
|
|
||||||
|
|
||||||
align-self: center;
|
|
||||||
transition-duration: 0.25s;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.dropdown_body {
|
|
||||||
display: none;
|
|
||||||
border-bottom-left-radius: var(--border-radius-small);
|
|
||||||
border-bottom-right-radius: var(--border-radius-small);
|
|
||||||
background-color: var(--background-1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.dropdown:hover {
|
|
||||||
.dropdown_header {
|
|
||||||
transform: var(--transform-scale-x);
|
|
||||||
|
|
||||||
ion-icon {
|
|
||||||
rotate: 90deg;
|
|
||||||
transition-duration: 0.25s;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.dropdown_body {
|
|
||||||
display: grid;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav_body,
|
|
||||||
.dropdown .nav_body,
|
|
||||||
.dropdown .dropdown_body {
|
|
||||||
.nav_title {
|
|
||||||
/* Need to force inheritence, otherwise <a> would require overrides for all color states from base styling for element. */
|
|
||||||
color: inherit;
|
|
||||||
|
|
||||||
text-decoration: none;
|
|
||||||
font-family: var(--font-family-generic);
|
|
||||||
font-weight: bold;
|
|
||||||
white-space: nowrap;
|
|
||||||
margin: 0 var(--spacing-horizontal);
|
|
||||||
transition: var(--transition-fade);
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nav_title:hover {
|
|
||||||
color: var(--highlight-hover);
|
|
||||||
transition: var(--transition-cut);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
17
src/partials/_nav_title.scss
Normal file
17
src/partials/_nav_title.scss
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
.nav_title {
|
||||||
|
/* Need to force inheritence, otherwise <a> would require overrides for all color states from base styling for element. */
|
||||||
|
color: inherit;
|
||||||
|
|
||||||
|
text-decoration: none;
|
||||||
|
font-family: var(--font-family-generic);
|
||||||
|
font-weight: bold;
|
||||||
|
white-space: nowrap;
|
||||||
|
margin: 0 var(--spacing-horizontal);
|
||||||
|
transition: var(--transition-fade);
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav_title:hover {
|
||||||
|
color: var(--highlight-hover);
|
||||||
|
transition: var(--transition-cut);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user