Как сделать так, чтобы меню сайта на маленьких экранах превращалось в бургер меню? На чистом css
Мне нужно, чтобы меню на экранах размером менее 768 пикселей превратилось в бургер меню в правом верхнем углу. Желательно только на html и css. Заранее спасибо
Я пытался искать ответ в Интернете, но не нашел нужного ответа
Ответы (1 шт):
Автор решения: Dovgal Dima
→ Ссылка
document.addEventListener('DOMContentLoaded', function () {
const burgerMenu = document.querySelector('.burger-menu');
const menu = document.querySelector('.menu');
burgerMenu.addEventListener('click', function () {
menu.classList.toggle('active');
});
});
body {
margin: 0;
font-family: Arial, sans-serif;
}
.navbar {
background-color: #333;
overflow: hidden;
padding: 15px;
color: white;
display: flex;
justify-content: space-between;
}
.logo {
font-size: 1.5em;
}
.menu {
display: flex;
}
.menu ul {
list-style-type: none;
margin: 0;
padding: 0;
display: flex;
}
.menu li {
margin: 0 15px;
}
.menu a {
text-decoration: none;
color: white;
font-weight: bold;
}
.burger-menu {
font-size: 1.5em;
cursor: pointer;
display: none; /* Изначально скрываем бургер-меню */
}
@media only screen and (max-width: 768px) {
.menu {
display: none; /* Скрываем основное меню на маленьких экранах */
}
.burger-menu {
display: block; /* Показываем бургер-меню на маленьких экранах */
}
.burger-menu.active {
display: none; /* Скрываем бургер-меню при активации (открытии) */
}
.menu.active {
display: flex; /* Показываем основное меню при активации (открытии) */
flex-direction: column;
position: absolute;
top: 60px;
left: 0;
background-color: #333;
width: 100%;
z-index: 1;
}
.menu.active a {
padding: 15px;
display: block;
text-align: center;
}
}
<div class="navbar">
<div class="logo">Ваш логотип</div>
<div class="menu">
<ul>
<li><a href="#">Главная</a></li>
<li><a href="#">О нас</a></li>
<li><a href="#">Контакты</a></li>
</ul>
</div>
<div class="burger-menu">☰</div>
</div>
Предлагаю такой вариант...


