Чтобы создать гамбургер (бургер) меню на CSS, вы можете использовать триггер-иконку в виде трех горизонтальных полосок, которая будет превращаться в крестик при нажатии для открытия и закрытия меню. Вот пример кода CSS для гамбургер меню:
HTML:
<div class="navbar">
<input type="checkbox" id="navbar-toggle">
<label for="navbar-toggle" class="navbar-icon"></label>
<ul class="navbar-menu">
<li><a href="#">Главная</a></li>
<li><a href="#">О нас</a></li>
<li><a href="#">Услуги</a></li>
<li><a href="#">Контакты</a></li>
</ul>
</div>
CSS:
.navbar {
position: relative;
background-color: #333;
color: #fff;
padding: 20px;
}
.navbar-icon {
position: absolute;
top: 20px;
right: 20px;
display: inline-block;
width: 30px;
height: 30px;
cursor: pointer;
background-color: transparent;
border: none;
outline: none;
}
.navbar-icon::before,
.navbar-icon::after {
content: '';
position: absolute;
left: 0;
width: 100%;
height: 3px;
background-color: #fff;
transition: transform 0.3s;
}
.navbar-icon::before {
top: -8px;
}
.navbar-icon::after {
top: 8px;
}
#navbar-toggle:checked + .navbar-icon::before {
transform: rotate(45deg) translate(5px, 5px);
}
#navbar-toggle:checked + .navbar-icon::after {
transform: rotate(-45deg) translate(5px, -5px);
}
.navbar-menu {
position: absolute;
top: 100%;
right: 0;
left: 0;
background-color: #333;
list-style: none;
padding: 0;
margin-top: 10px;
transform: scaleY(0);
transform-origin: top;
transition: transform 0.3s;
}
#navbar-toggle:checked + .navbar-icon + .navbar-menu {
transform: scaleY(1);
}
.navbar-menu li {
padding: 10px;
}
.navbar-menu li a {
color: #fff;
text-decoration: none;
}
В этом примере гамбургер меню представлено внутри контейнера с классом «navbar». Используется тег <input>
с типом «checkbox» для создания переключателя меню. Тег <label>
с классом «navbar-icon» используется в качестве триггера-иконки для переключения меню.
С помощью CSS свойства ::before
и ::after
создаются три горизонтальные полоски в виде иконки. При нажатии на триггер-иконку, с помощью селектора :checked
и свойства transform
происходит анимация, превращающая три полоски в крестик.
Меню представлено в виде неупорядоченного списка <ul>
с классом «navbar-menu». При переключении меню, используя селектор :checked
, меню появляется или скрывается с помощью свойства transform
.
Обратите внимание, что этот код предоставляет базовую реализацию гамбургер меню на CSS. Вы можете настроить его в соответствии с вашими потребностями, добавив стилизацию, анимации и функциональность с помощью JavaScript, если требуется.