Создание меню — гамбургера с использованием CSS Grid — это отличный способ организовать элементы интерфейса. Вот простой пример того, как можно создать такое меню с использованием HTML и CSS.
HTML
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="styles.css">
<title>Меню Гамбургер</title>
</head>
<body>
<div class="menu-container">
<div class="hamburger" id="hamburger">
<div class="bar"></div>
<div class="bar"></div>
<div class="bar"></div>
</div>
<nav class="menu" id="menu">
<ul>
<li><a href="#">Главная</a></li>
<li><a href="#">О нас</a></li>
<li><a href="#">Услуги</a></li>
<li><a href="#">Контакты</a></li>
</ul>
</nav>
</div>
<script src="script.js"></script>
</body>
</html>
CSS (styles.css)
body { margin: 0; font-family: Arial, sans-serif;
}
.menu-container { display: grid; grid-template-columns: 1fr; position: relative;
}
.hamburger { cursor: pointer; padding: 15px; background-color: #333; color: white;
}
.bar { display: block; width: 30px; height: 3px; margin: 5px auto; background-color: white; transition: all 0.3s ease;
}
.menu { display: none; /* Скрываем меню по умолчанию */ position: absolute; top: 60px; /* Расположение меню под гамбургером */ left: 0; right: 0; background-color: #333; z-index: 1;
}
.menu ul { list-style: none; padding: 0; margin: 0;
}
.menu li { text-align: center;
}
.menu a { display: block; padding: 15px; color: white; text-decoration: none;
}
.menu a:hover { background-color: #575757;
}
/* Класс для отображения меню */
.menu-active { display: block;
}
JavaScript (script.js)
document.getElementById('hamburger').addEventListener('click', function() { const menu = document.getElementById('menu'); menu.classList.toggle('menu-active');
});
Описание
HTML: Создана структура меню с элементами гамбургера и навигационным меню. Элементы меню находятся внутри.
Пн | Вт | Ср | Чт | Пт | Сб | Вс |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |