Title pretty much.
I tried following another post on here of a similar question from 2016 and a few other solutions from some half hour of browsing, but I couldn't get any of the solutions to work (likely due to my own incompetence).
The burger menu shows properly on mobile or small devices, but on click it does nothing. I would like it to reveal a dropdown similar to the preview from the Bulma documentation.
If someone could walk me through what to do that would be great.
My code:
@import "https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css";
@font-face {
font-family: 'Nikumaru';
src: url('fonts/Nikumaru.ttf');
font-weight: normal;
font-style: normal;
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@500&display=swap');
}
:root {
--main-white: #FAF0E9;
--main-dark: #371B18;
--main-brown: #594B4A;
--main-dark-brown: #4A3635;
--main-beige: #AB9A95;
}
/* Background Colors */
.hero {
background-color: var(--main-beige);
}
.hero-head {
background-color: var(--main-brown);
}
.hero-body {
background-color: var(--main-beige);
}
.hero-foot {
background-color: var(--main-dark-brown);
}
.button {
background-color: var(--main-white);
}
/* Text + Links */
nav {
border-radius: 0px;
background-color: var(--main-brown);
color: var(--main-brown);
}
.navbar {
background-color: var(--main-brown);
color: var(--main-brown);
}
.navbar-item {
letter-spacing: 2px;
text-transform: uppercase;
font: "Nikumaru";
font-family: 'Nikumaru', serif;
color: var(--main-white);
}
.navbar-brand {
background-color: var(--main-brown);
}
.navbrand {
height: 50px;
}
.navbar-item:hover {
color: var(--main-dark-brown) !important;
text-decoration: none;
background-color: var(--main-brown) !important;
}
.navbar-menu {
letter-spacing: 2px;
text-transform: uppercase;
font: "Nikumaru";
font-family: 'Nikumaru', serif;
color: var(--main-white);
}
.navbar-burger {
color: var(--main-white);
}
#burger {
color: var(--main-white);
}
a {
letter-spacing: 2px;
text-transform: uppercase;
font: "Nikumaru";
font-family: 'Nikumaru', serif;
color: var(--main-dark);
}
p {
font-family: 'Quicksand', sans-serif;
color: var(--main-dark-brown);
font-size: x-large;
}
.current-page {
color: var(--main-brown);
background-color: var(--main-white);
}
.current-page:hover {
color: var(--main-dark);
background-color: var(--main-white);
border-radius: 10px;
}
li {
color: var(--main-white);
border-radius: 10px;
}
.Logo {
background-color: var(--main-white);
}
button {
width: 80px;
height: 35px;
border: none;
border-color: var(--main-white);
border-radius: 10px;
background-color: var(--main-white);
color: var(--main-brown);
font: "Nikumaru";
font-family: 'Nikumaru', serif;
font-size: 17px;
}
button:hover {
width: 80px;
height: 35px;
border: none;
border-color: var(--main-white);
border-radius: 10px;
background-color: var(--main-beige);
color: var(--main-dark-brown);
font: "Nikumaru";
font-family: 'Nikumaru', serif;
font-size: 17px;
}
.got_goat {
font-family: 'Quicksand', sans-serif;
color: var(--main-dark-brown);
font-size: xx-large;
}
.columns {
position: relative;
}
#got_goat {
font-family: 'Quicksand', sans-serif;
color: var(--main-brown);
font-size: xx-large;
}
.whygoat_text {
font-family: 'Quicksand', sans-serif;
color: var(--main-brown);
font-size: x-large;
}
.whygoat_text2 {
font-family: 'Quicksand', sans-serif;
color: var(--main-brown);
font-size: x-large;
}
.about {
font-family: Arial, Helvetica, sans-serif;
color: #0073ff;
}
#aboutlink {
font-family: Arial, Helvetica, sans-serif;
color: #0073ff;
}
.title {
font-family: Arial, Helvetica, sans-serif;
color: #000000;
letter-spacing: 0px;
text-transform: none;
}
.pfp {
border-radius: 0px;
}
.contact-body {
background-color: var(--main-beige);
padding: 100px;
}
.field {
background-color: var(--main-beige);
}
.submit {
width: 80px;
height: 35px;
border: none;
border-color: var(--main-brown);
border-radius: 5px;
background-color: var(--main-brown);
color: var(--main-white);
font: "Nikumaru";
font-family: 'Nikumaru', serif;
font-size: 17px;
}
.submit:hover {
width: 80px;
height: 35px;
border: none;
border-color: var(--main-white);
border-radius: 5px;
background-color: var(--main-dark-brown);
color: var(--main-white);
font: "Nikumaru";
font-family: 'Nikumaru', serif;
font-size: 17px;
}
label {
color: var(--main-dark);
font-family: 'Quicksand', sans-serif;
}
#eval {
color: var(--main-dark-brown);
}
.about-container {
padding: 0px;
}
.about-content {
background-color: var(--main-beige);
padding: 10%;
}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css">
<link rel="stylesheet" type="text/css" href="style.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8">
<link rel="icon" type="image/x-icon" href="images/favicon.ico">
<title>Home | GoatGoat</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@500&display=swap');
</style>
</head>
<body>
<section class="hero is-success is-fullheight">
<!-- Hero head: will stick at the top -->
<div class="hero-head">
<header class="navbar">
<div class="container">
<div class="navbar-brand">
<a class="navbar-item" href="home.html">
<img src="images/logo.png" alt="Logo">
</a>
<a role="button" class="navbar-burger" id="burger" data-target="navbarMenuHeroC">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
</div>
<div id="navbarMenuHeroC" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="whygoat.html">
GOAT
</a>
<a class="navbar-item" href="about.html">
ABOUT
</a>
<a class="navbar-item" href="contact.html">
CONTACT
</a>
<span class="navbar-item">
<a href="empty.html">
<button>BUY</button>
</a>
</span>
</div>
</div>
</div>
</header>
</div>
<!-- Hero content: will be in the middle -->
<div class="hero-body">
<div class="container has-text-centered">
<img src="images/logo_big.png" width="350px">
<p>
<b>GET OUR AWESOME THING: GOAT!</b>
</p>
</div>
</div>
<!-- Hero footer: will stick at the bottom -->
<div class="hero-foot">
<nav class="tabs is-boxed is-fullwidth">
<div class="container">
<ul>
<li class="current-page"><a class="current-page">Home</a></li>
<li><a href="whygoat.html">Why Goat?</a></li>
<li><a href="empty.html">Why Us?</a></li>
<li><a href="empty.html">How?</a></li>
<li><a href="empty.html">What Now?</a></li>
</ul>
</div>
</nav>
</div>
</section>
</body>
</html>
All help would be much appreciated :)
The burger menu does nothing because you omitted the javascript that will make it work. Add below code to your code
<script>
document.addEventListener('DOMContentLoaded', () => {
// Get all "navbar-burger" elements
const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 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');
});
});
});
</script>
Source: https://bulma.io/documentation/components/navbar/#navbarJsExample
Working Example
document.addEventListener('DOMContentLoaded', () => {
// Get all "navbar-burger" elements
const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 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');
});
});
});
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@500&display=swap');
@import "https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css";
@font-face {
font-family: 'Nikumaru';
src: url('fonts/Nikumaru.ttf');
font-weight: normal;
font-style: normal;
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@500&display=swap');
}
:root {
--main-white: #FAF0E9;
--main-dark: #371B18;
--main-brown: #594B4A;
--main-dark-brown: #4A3635;
--main-beige: #AB9A95;
}
/* Background Colors */
.hero {
background-color: var(--main-beige);
}
.hero-head {
background-color: var(--main-brown);
}
.hero-body {
background-color: var(--main-beige);
}
.hero-foot {
background-color: var(--main-dark-brown);
}
.button {
background-color: var(--main-white);
}
/* Text + Links */
nav {
border-radius: 0px;
background-color: var(--main-brown);
color: var(--main-brown);
}
.navbar {
background-color: var(--main-brown);
color: var(--main-brown);
}
.navbar-item {
letter-spacing: 2px;
text-transform: uppercase;
font: "Nikumaru";
font-family: 'Nikumaru', serif;
color: var(--main-white);
}
.navbar-brand {
background-color: var(--main-brown);
}
.navbrand {
height: 50px;
}
.navbar-item:hover {
color: var(--main-dark-brown) !important;
text-decoration: none;
background-color: var(--main-brown) !important;
}
.navbar-menu {
letter-spacing: 2px;
text-transform: uppercase;
font: "Nikumaru";
font-family: 'Nikumaru', serif;
color: var(--main-white);
}
.navbar-burger {
color: var(--main-white);
}
#burger {
color: var(--main-white);
}
a {
letter-spacing: 2px;
text-transform: uppercase;
font: "Nikumaru";
font-family: 'Nikumaru', serif;
color: var(--main-dark);
}
p {
font-family: 'Quicksand', sans-serif;
color: var(--main-dark-brown);
font-size: x-large;
}
.current-page {
color: var(--main-brown);
background-color: var(--main-white);
}
.current-page:hover {
color: var(--main-dark);
background-color: var(--main-white);
border-radius: 10px;
}
li {
color: var(--main-white);
border-radius: 10px;
}
.Logo {
background-color: var(--main-white);
}
button {
width: 80px;
height: 35px;
border: none;
border-color: var(--main-white);
border-radius: 10px;
background-color: var(--main-white);
color: var(--main-brown);
font: "Nikumaru";
font-family: 'Nikumaru', serif;
font-size: 17px;
}
button:hover {
width: 80px;
height: 35px;
border: none;
border-color: var(--main-white);
border-radius: 10px;
background-color: var(--main-beige);
color: var(--main-dark-brown);
font: "Nikumaru";
font-family: 'Nikumaru', serif;
font-size: 17px;
}
.got_goat {
font-family: 'Quicksand', sans-serif;
color: var(--main-dark-brown);
font-size: xx-large;
}
.columns {
position: relative;
}
#got_goat {
font-family: 'Quicksand', sans-serif;
color: var(--main-brown);
font-size: xx-large;
}
.whygoat_text {
font-family: 'Quicksand', sans-serif;
color: var(--main-brown);
font-size: x-large;
}
.whygoat_text2 {
font-family: 'Quicksand', sans-serif;
color: var(--main-brown);
font-size: x-large;
}
.about {
font-family: Arial, Helvetica, sans-serif;
color: #0073ff;
}
#aboutlink {
font-family: Arial, Helvetica, sans-serif;
color: #0073ff;
}
.title {
font-family: Arial, Helvetica, sans-serif;
color: #000000;
letter-spacing: 0px;
text-transform: none;
}
.pfp {
border-radius: 0px;
}
.contact-body {
background-color: var(--main-beige);
padding: 100px;
}
.field {
background-color: var(--main-beige);
}
.submit {
width: 80px;
height: 35px;
border: none;
border-color: var(--main-brown);
border-radius: 5px;
background-color: var(--main-brown);
color: var(--main-white);
font: "Nikumaru";
font-family: 'Nikumaru', serif;
font-size: 17px;
}
.submit:hover {
width: 80px;
height: 35px;
border: none;
border-color: var(--main-white);
border-radius: 5px;
background-color: var(--main-dark-brown);
color: var(--main-white);
font: "Nikumaru";
font-family: 'Nikumaru', serif;
font-size: 17px;
}
label {
color: var(--main-dark);
font-family: 'Quicksand', sans-serif;
}
#eval {
color: var(--main-dark-brown);
}
.about-container {
padding: 0px;
}
.about-content {
background-color: var(--main-beige);
padding: 10%;
}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css">
<link rel="stylesheet" type="text/css" href="style.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8">
<link rel="icon" type="image/x-icon" href="images/favicon.ico">
<title>Home | GoatGoat</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@500&display=swap');
</style>
</head>
<body>
<section class="hero is-success is-fullheight">
<!-- Hero head: will stick at the top -->
<div class="hero-head">
<header class="navbar">
<div class="container">
<div class="navbar-brand">
<a class="navbar-item" href="home.html">
<img src="images/logo.png" alt="Logo">
</a>
<a role="button" class="navbar-burger" id="burger" data-target="navbarMenuHeroC">
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
<span aria-hidden="true"></span>
</a>
</div>
<div id="navbarMenuHeroC" class="navbar-menu">
<div class="navbar-end">
<a class="navbar-item" href="whygoat.html">
GOAT
</a>
<a class="navbar-item" href="about.html">
ABOUT
</a>
<a class="navbar-item" href="contact.html">
CONTACT
</a>
<span class="navbar-item">
<a href="empty.html">
<button>BUY</button>
</a>
</span>
</div>
</div>
</div>
</header>
</div>
<!-- Hero content: will be in the middle -->
<div class="hero-body">
<div class="container has-text-centered">
<img src="images/logo_big.png" width="350px">
<p>
<b>GET OUR AWESOME THING: GOAT!</b>
</p>
</div>
</div>
<!-- Hero footer: will stick at the bottom -->
<div class="hero-foot">
<nav class="tabs is-boxed is-fullwidth">
<div class="container">
<ul>
<li class="current-page"><a class="current-page">Home</a></li>
<li><a href="whygoat.html">Why Goat?</a></li>
<li><a href="empty.html">Why Us?</a></li>
<li><a href="empty.html">How?</a></li>
<li><a href="empty.html">What Now?</a></li>
</ul>
</div>
</nav>
</div>
</section>
</body>
</html>