Added mobile responsiveness to nav

This commit is contained in:
James Dinh 2023-01-15 01:16:08 -08:00
parent 3b95a02639
commit f14aa45ee2
3 changed files with 73 additions and 18 deletions

View File

@ -88,14 +88,10 @@ html {
.nav-container .menu-btn:checked ~ .nav-menu { .nav-container .menu-btn:checked ~ .nav-menu {
max-height: 300px; max-height: 300px;
background-color: rgb(24, 24, 24); background-color: rgba(24, 24, 24, 0.988);
transition: 0.5s; transition: 0.5s;
} }
.nav-container .menu-btn:not(:checked) ~ .nav-menu {
animation: slow-fade 1s ease;
}
.nav-container .menu-btn:checked ~ .menu-icon .navicon { .nav-container .menu-btn:checked ~ .menu-icon .navicon {
background: transparent; background: transparent;
} }
@ -145,6 +141,9 @@ html {
#sign-up { #sign-up {
right: 50px !important; right: 50px !important;
} }
.nav-container .menu-btn:not(:checked) ~ .nav-menu {
animation: slow-fade 1s ease;
}
} }
nav { nav {
@ -1478,11 +1477,42 @@ li .splide__pagination__page.is-active {
.button-close-modal { .button-close-modal {
display: block; display: block;
float: right; float: right;
color: white;
background-color: unset; background-color: unset;
border: none; border: none;
cursor: pointer; cursor: pointer;
margin: 5px 10px 0 0; margin-right: 5px;
display: block;
height: 2px;
position: relative;
width: 20px;
height: 20px;
padding: 15px 20px 10px 10px;
cursor: pointer;
}
.button-close-modal:before,
.button-close-modal:after {
background: rgb(200, 200, 200);
content: '';
display: block;
height: 2px;
position: absolute;
transition: all .2s ease-out;
width: 13px;
}
.button-close-modal:hover {
transform: scale(1.2);
filter: brightness(1.1);
transition: 0.3s;
}
.button-close-modal:before {
transform: rotate(-45deg);
}
.button-close-modal:after {
transform: rotate(45deg);
} }
#modal-overlay { #modal-overlay {

View File

@ -87,7 +87,7 @@
<span id="timer">---</span></div> <span id="timer">---</span></div>
</p> </p>
</div> </div>
<input class="menu-btn" type="checkbox" id="menu-btn" /> <input class="menu-btn" onclick="CheckNavOpen()" type="checkbox" id="menu-btn"/>
<label class="menu-icon" for="menu-btn"><span class="navicon"></span></label> <label class="menu-icon" for="menu-btn"><span class="navicon"></span></label>
<ul class="nav-menu"> <ul class="nav-menu">
<li><a class="navlink" onclick="uncheck('menu-btn')" href="#event">Event</a></li> <li><a class="navlink" onclick="uncheck('menu-btn')" href="#event">Event</a></li>
@ -402,7 +402,7 @@
</div> </div>
<div id="modal-overlay"> <div id="modal-overlay">
<div class="modal logistics-border" id="check-in"> <div class="modal logistics-border" id="check-in">
<button class="button-close-modal">x</button> <button class="button-close-modal"></button>
<div class="modal-header logistics"> <div class="modal-header logistics">
<h2>Check In</h2> <h2>Check In</h2>
</div> </div>
@ -413,7 +413,7 @@
</div> </div>
</div> </div>
<div class="modal logistics-border" id="opening-ceremony"> <div class="modal logistics-border" id="opening-ceremony">
<button class="button-close-modal">x</button> <button class="button-close-modal"></button>
<div class="modal-header logistics"> <div class="modal-header logistics">
<h2>Opening Ceremony</h2> <h2>Opening Ceremony</h2>
</div> </div>
@ -428,7 +428,7 @@
</div> </div>
</div> </div>
<div class="modal hacking-border" id="hacking-starts"> <div class="modal hacking-border" id="hacking-starts">
<button class="button-close-modal">x</button> <button class="button-close-modal"></button>
<div class="modal-header hacking"> <div class="modal-header hacking">
<h2>Hacking starts</h2> <h2>Hacking starts</h2>
</div> </div>
@ -447,7 +447,7 @@
</div> </div>
</div> </div>
<div class="modal food-border" id="lunch"> <div class="modal food-border" id="lunch">
<button class="button-close-modal">x</button> <button class="button-close-modal"></button>
<div class="modal-header food"> <div class="modal-header food">
<h2>Lunch</h2> <h2>Lunch</h2>
</div> </div>
@ -458,7 +458,7 @@
</div> </div>
</div> </div>
<div class="modal workshop-border" id="workshop1"> <div class="modal workshop-border" id="workshop1">
<button class="button-close-modal">x</button> <button class="button-close-modal"></button>
<div class="modal-header workshop"> <div class="modal-header workshop">
<h2>Web Dev Workshop</h2> <h2>Web Dev Workshop</h2>
</div> </div>
@ -469,7 +469,7 @@
</div> </div>
</div> </div>
<div class="modal workshop-border" id="workshop2"> <div class="modal workshop-border" id="workshop2">
<button class="button-close-modal">x</button> <button class="button-close-modal"></button>
<div class="modal-header workshop"> <div class="modal-header workshop">
<h2>[REDACTED] Workshop</h2> <h2>[REDACTED] Workshop</h2>
</div> </div>
@ -480,7 +480,7 @@
</div> </div>
</div> </div>
<div class="modal game-border" id="activity1"> <div class="modal game-border" id="activity1">
<button class="button-close-modal">x</button> <button class="button-close-modal"></button>
<div class="modal-header game"> <div class="modal-header game">
<h2>Kahoot</h2> <h2>Kahoot</h2>
</div> </div>
@ -491,7 +491,7 @@
</div> </div>
</div> </div>
<div class="modal hacking-border" id="hacking-ends"> <div class="modal hacking-border" id="hacking-ends">
<button class="button-close-modal">x</button> <button class="button-close-modal"></button>
<div class="modal-header hacking"> <div class="modal-header hacking">
<h2>Hacking ends</h2> <h2>Hacking ends</h2>
</div> </div>
@ -509,7 +509,7 @@
</div> </div>
</div> </div>
<div class="modal logistics-border" id="project-presentations"> <div class="modal logistics-border" id="project-presentations">
<button class="button-close-modal">x</button> <button class="button-close-modal"></button>
<div class="modal-header logistics"> <div class="modal-header logistics">
<h2>Project Presentations</h2> <h2>Project Presentations</h2>
</div> </div>
@ -529,7 +529,7 @@
</div> </div>
</div> </div>
<div class="modal logistics-border" id="judging"> <div class="modal logistics-border" id="judging">
<button class="button-close-modal">x</button> <button class="button-close-modal"></button>
<div class="modal-header logistics"> <div class="modal-header logistics">
<h2>Judging</h2> <h2>Judging</h2>
</div> </div>

View File

@ -411,6 +411,7 @@ function showModal(id) {
currentModal = id; currentModal = id;
} }
// Check if user clicks outside of modal
document.addEventListener( document.addEventListener(
"click", "click",
function (event) { function (event) {
@ -425,6 +426,30 @@ document.addEventListener(
false false
); );
var openNavClick = false;
var nav_is_open = false;
function CheckNavOpen() {
if (document.getElementById('menu-btn').checked == true) {
nav_is_open = true;
openNavClick = true;
}
}
// Check if user clicks outside of navbar menu
document.addEventListener(
"click",
function (event) {
// If user either clicks X button OR clicks outside the modal window, then close modal
if (!openNavClick && nav_is_open == true) {
if (event.target.matches(".menu-btn") || !event.target.closest(".nav-container")) {
uncheck('menu-btn');
nav_is_open = false;
}
}
openNavClick = false;
},
false
);
var splide = new Splide( '.splide', { var splide = new Splide( '.splide', {
type : 'loop', type : 'loop',
focus : 'center', focus : 'center',