aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--grid.css45
-rw-r--r--index.html6
-rw-r--r--js/navbar-burger.js23
3 files changed, 74 insertions, 0 deletions
diff --git a/grid.css b/grid.css
index 4b188e2..fbc75c8 100644
--- a/grid.css
+++ b/grid.css
@@ -59,7 +59,52 @@ body {
.navbar-menu {
grid-area: navbar-menu;
+
+ display: none;
+}
+
+/* ---------- Menu Mobile sin JS ------------ */
+/* --------- End Menu Mobile sin JS ----------- */
+/* input hidden */
+#navbar-toggle-cbox {
+ display: none;
+}
+
+label[for=navbar-toggle-cbox] {
+ cursor: pointer;
+}
+
+#navbar-toggle-cbox:checked ~ .navbar-menu {
+ display: block;
+}
+
+/* --------- Menu Mobile JS ------------ */
+.navbar-burger.is-active {
+ display: flex;
+ cursor: pointer;
+ position: relative;
+ justify-content: center;
+}
+
+.navbar-burger.is-active span {
+ display: block;
+ position: absolute;
+}
+
+.navbar-burger.is-active span:nth-child(1) {
+ transform: translateY(5px) rotate(45deg);
+ top: calc(50% - 6px);
+}
+
+.navbar-burger.is-active span:nth-child(2) {
+ opacity: 0;
+}
+
+.navbar-burger.is-active span:nth-child(3) {
+ transform: translateY(-5px) rotate(-45deg);
+ top: calc(50% + 4px);
}
+/* --------- End Menu Mobile JS ----------- */
.navbar-menu > ul > li {
list-style: none;
diff --git a/index.html b/index.html
index d283ea8..885a0a9 100644
--- a/index.html
+++ b/index.html
@@ -9,6 +9,9 @@
</head>
<body>
<header class="header">
+ <!-- Input for menu-mobile with checkbox-->
+ <input id="navbar-toggle-cbox" role="button" type="checkbox">
+ <!-- End Input for menu-mobile with checkbox-->
<label class="navbar-burger" for="navbar-toggle-cbox" data-target="navMenu">
<span></span>
<span></span>
@@ -76,6 +79,9 @@
<p>08019 Barcelona, Spain</p>
</address>
</aside>
+ <!-- navbar-burger -->
+ <script src="js/navbar-burger.js"></script>
+ <!-- end of navbar-burger -->
</footer>
</body>
</html>
diff --git a/js/navbar-burger.js b/js/navbar-burger.js
new file mode 100644
index 0000000..084f02b
--- /dev/null
+++ b/js/navbar-burger.js
@@ -0,0 +1,23 @@
+document.addEventListener('DOMContentLoaded', () => {
+ // Get all "navbar-burger" elements
+ const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0);
+
+ // Check if there are any navbar burgers
+ if ($navbarBurgers.length > 0) {
+
+ // Add a click event on each of them
+ $navbarBurgers.forEach( el => {
+ el.addEventListener('click', () => {
+
+ // Get the target from the "data-target" attribute
+ const target = el.dataset.target;
+ const $target = document.getElementById(target);
+
+ // Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu"
+ el.classList.toggle('is-active');
+ $target.classList.toggle('is-active');
+
+ });
+ });
+ }
+});