nav - finish nav expanded dynamic columns
This commit is contained in:
parent
049f11e011
commit
220a6f4ada
6 changed files with 49 additions and 26 deletions
|
|
@ -2,8 +2,6 @@
|
||||||
|
|
||||||
.expanded-nav,
|
.expanded-nav,
|
||||||
.main-nav {
|
.main-nav {
|
||||||
padding: 1rem;
|
|
||||||
padding-right: var(--space-m);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Expanded nav */
|
/* Expanded nav */
|
||||||
|
|
@ -12,20 +10,27 @@
|
||||||
position: fixed;
|
position: fixed;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
top: -20rem;
|
top: -32rem;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
background-color: var(--color-brown-light);
|
background-color: var(--color-brown-light);
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr 4fr 1fr;
|
grid-template-columns: 2fr 8fr 1fr;
|
||||||
transition: top 0.5s var(--curve-quick-slow);
|
transition: top 0.5s var(--curve-quick-slow);
|
||||||
|
padding: 2rem var(--space-m) 2rem 1rem;
|
||||||
|
border-bottom: var(--border);
|
||||||
}
|
}
|
||||||
.expanded-nav.open {
|
.expanded-nav.open {
|
||||||
top: 0rem;
|
top: 0rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.expanded-nav__logo-link {
|
||||||
|
height: fit-content;
|
||||||
|
}
|
||||||
|
|
||||||
.expanded-nav__columns {
|
.expanded-nav__columns {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(3, 1fr);
|
grid-template-columns: repeat(3, 1fr);
|
||||||
|
row-gap: 6rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.expanded-nav .close-btn {
|
.expanded-nav .close-btn {
|
||||||
|
|
@ -68,6 +73,8 @@
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
border-bottom: var(--border);
|
border-bottom: var(--border);
|
||||||
|
padding: 1rem;
|
||||||
|
padding-right: var(--space-m);
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-nav__right {
|
.main-nav__right {
|
||||||
|
|
|
||||||
23
assets/js/functions.js
Normal file
23
assets/js/functions.js
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
let handleClick;
|
||||||
|
|
||||||
|
function expandNav(nodes) {
|
||||||
|
nodes.expandedNav.classList.add("open");
|
||||||
|
|
||||||
|
nodes.burgerBtn.setAttribute("aria-expanded", true);
|
||||||
|
nodes.closeNavBtn.setAttribute("aria-expanded", true);
|
||||||
|
|
||||||
|
handleClick = () => closeNav(nodes);
|
||||||
|
nodes.main.addEventListener("click", handleClick);
|
||||||
|
}
|
||||||
|
|
||||||
|
function closeNav(nodes) {
|
||||||
|
console.log("close nav");
|
||||||
|
nodes.expandedNav.classList.remove("open");
|
||||||
|
|
||||||
|
nodes.burgerBtn.setAttribute("aria-expanded", false);
|
||||||
|
nodes.closeNavBtn.setAttribute("aria-expanded", false);
|
||||||
|
|
||||||
|
nodes.main.removeEventListener("click", handleClick);
|
||||||
|
}
|
||||||
|
|
||||||
|
export { expandNav, closeNav };
|
||||||
|
|
@ -1,24 +1,15 @@
|
||||||
|
import { expandNav, closeNav } from "./functions.js";
|
||||||
|
|
||||||
document.addEventListener("DOMContentLoaded", () => {
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
// Functions
|
|
||||||
function expandNav() {
|
|
||||||
expandedNav.classList.add("open");
|
|
||||||
|
|
||||||
burgerBtn.setAttribute("aria-expanded", true);
|
|
||||||
closeNavBtn.setAttribute("aria-expanded", true);
|
|
||||||
}
|
|
||||||
function closeNav() {
|
|
||||||
expandedNav.classList.remove("open");
|
|
||||||
|
|
||||||
burgerBtn.setAttribute("aria-expanded", false);
|
|
||||||
closeNavBtn.setAttribute("aria-expanded", false);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
const burgerBtn = document.querySelector(".burger-btn");
|
const nodes = {
|
||||||
const closeNavBtn = document.querySelector(".expanded-nav .close-btn");
|
burgerBtn: document.querySelector(".burger-btn"),
|
||||||
const expandedNav = document.querySelector(".expanded-nav");
|
closeNavBtn: document.querySelector(".expanded-nav .close-btn"),
|
||||||
|
expandedNav: document.querySelector(".expanded-nav"),
|
||||||
|
main: document.querySelector("main"),
|
||||||
|
};
|
||||||
|
|
||||||
// Listeners
|
// Listeners
|
||||||
burgerBtn.addEventListener("click", expandNav);
|
nodes.burgerBtn.addEventListener("click", () => expandNav(nodes));
|
||||||
closeNavBtn.addEventListener("click", closeNav);
|
nodes.closeNavBtn.addEventListener("click", () => closeNav(nodes));
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
</main>
|
||||||
<footer class="main-footer">
|
<footer class="main-footer">
|
||||||
<h1 class="logo">
|
<h1 class="logo">
|
||||||
<span>Nouveau</span>
|
<span>Nouveau</span>
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
<script src="https://cdn.jsdelivr.net/npm/dayjs@1/locale/fr.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/dayjs@1/locale/fr.js"></script>
|
||||||
<?= js('/assets/js/calendar.js') ?>
|
<?= js('/assets/js/calendar.js') ?>
|
||||||
<?php endif ?>
|
<?php endif ?>
|
||||||
<?= js('/assets/js/script.js', 'defer') ?>
|
<script src="<?= url('assets/js/script.js') ?>" type="module" defer></script>
|
||||||
<?php if ($page->color()->exists()): ?>
|
<?php if ($page->color()->exists()): ?>
|
||||||
<style>
|
<style>
|
||||||
:root {
|
:root {
|
||||||
|
|
@ -29,3 +29,4 @@
|
||||||
<?php snippet('header-banner') ?>
|
<?php snippet('header-banner') ?>
|
||||||
<?php endif ?>
|
<?php endif ?>
|
||||||
<?php snippet('nav') ?>
|
<?php snippet('nav') ?>
|
||||||
|
<main>
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<header class="main-header">
|
<header class="main-header">
|
||||||
<div class="main-header__infos-banner"></div>
|
<div class="main-header__infos-banner"></div>
|
||||||
|
<a href="/" title="Aller à l'accueil">
|
||||||
<nav class="main-nav main-nav--small">
|
<nav class="main-nav main-nav--small">
|
||||||
<a href="/" title="Aller à l'accueil">
|
|
||||||
<h1 class="logo">
|
<h1 class="logo">
|
||||||
<span>
|
<span>
|
||||||
N<span class="logo__detail">ouveau</span>
|
N<span class="logo__detail">ouveau</span>
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
</nav>
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<nav class="expanded-nav">
|
<nav class="expanded-nav">
|
||||||
<a href="/" title="Aller à l'accueil">
|
<a class="expanded-nav__logo-link" href="/" title="Aller à l'accueil">
|
||||||
<h1 class="logo">
|
<h1 class="logo">
|
||||||
<span>
|
<span>
|
||||||
N<span class="logo__detail">ouveau</span>
|
N<span class="logo__detail">ouveau</span>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue