Демо
  • 3,56 КБ
  • HTML, CSS, JS
  • Меню
  • анимация, гамбургер
  • Лицензия MIT
HTML
<div class="toggle triple">
    <span class="transition">Меню</span>
    <i class="triple item1 transition">Главная</i>
    <i class="triple item2 transition">О нас</i>
    <i class="triple item3 transition">Звонок</i>
</div>
CSS
.triple,
.triple span {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    top: 0;
    width: 60px;
    height: 60px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: bold;
    background-color: #000;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.3);
    text-align: center;
    padding-top: 23px;
    text-transform: uppercase;
    cursor: pointer;
    font-style: normal;
    -webkit-transition: 1s;
    -o-transition: 1s;
    -moz-transition: 1s;
    transition: 1s;
}
.toggle {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-family: Arial;
    right: 20px;
    top: 20px;
}
.triple span {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 2;
    background-color: #ff6949;
    -webkit-box-shadow: 0 0 0 10px #ff6949;
    -moz-box-shadow: 0 0 0 10px #ff6949;
    box-shadow: 0 0 0 10px #ff6949;
}
.triple.toggle.active span {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #111;
    -webkit-box-shadow: 0 0 0 0px #111;
    -moz-box-shadow: 0 0 0 0px #111;
    box-shadow: 0 0 0 0px #111;
}
.triple.toggle [class*="item1"] {
    -webkit-transition-delay: 0.4s;
    -moz-transition-delay: 0.4s;
    -o-transition-delay: 0.4s;
    transition-delay: 0.4s;
}
.triple.toggle [class*="item2"] {
    -webkit-transition-delay: 0.3s;
    -moz-transition-delay: 0.3s;
    -o-transition-delay: 0.3s;
    transition-delay: 0.3s;
}
.triple.toggle [class*="item3"] {
    -webkit-transition-delay: 0.2s;
    -moz-transition-delay: 0.2s;
    -o-transition-delay: 0.2s;
    transition-delay: 0.2s;
}
.triple.toggle.active .item1 {
    left: 100px;
    background-color: #6949aa;
    -webkit-transition-delay: 0.2s;
    -moz-transition-delay: 0.2s;
    -o-transition-delay: 0.2s;
    transition-delay: 0.2s;
}
.triple.toggle.active .item1:hover {
    -webkit-box-shadow: 0 0 0 6px #472788;
    -moz-box-shadow: 0 0 0 6px #472788;
    box-shadow: 0 0 0 6px #472788;
}
.triple.toggle.active .item2 {
    left: 70px;
    top: 70px;
    background-color: #49aa69;
    -webkit-transition-delay: 0.3s;
    -moz-transition-delay: 0.3s;
    -o-transition-delay: 0.3s;
    transition-delay: 0.3s;
}
.triple.toggle.active .item2:hover {
    -webkit-border-radius: 0 20px 0 20px;
    -moz-border-radius: 0 20px 0 20px;
    border-radius: 0 20px 0 20px;
}
.triple.toggle.active .item3 {
    top: 100px;
    background-color: #dd4969;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition-delay: 0.4s;
    -moz-transition-delay: 0.4s;
    -o-transition-delay: 0.4s;
    transition-delay: 0.4s;
}
.triple.toggle.active .item3:hover {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
JS
const toggler = document.querySelector(".toggle");
toggler.addEventListener("click", toggleMenu);

function toggleMenu() {
    this.classList.toggle("active");
}

Сегодня мы рассмотрим фрагмент кода, создающий стильное и интерактивное меню в виде гамбургера, популярное решение для современных веб-дизайнов благодаря его простоте и эффективности в управлении навигационными ссылками на различных устройствах. В основе этой настройки мы находим HTML и CSS, работающие вместе, чтобы создать компактное и визуально привлекательное меню.

Начиная с HTML, мы видим элемент div с классом «toggle triple», который служит контейнером для нашего меню. Внутри находится span для заголовка меню «Меню» и три элемента с метками «Главная», «О нас» и «Звонок». Эта структура довольно проста и заложит основу для того, что станет кликабельным, интерактивным меню.

CSS берет эту базовую структуру и наполняет ее стилем и анимацией. Примененные стили гарантируют, что наши пункты меню не просто статичны, но могут трансформироваться и перепозиционироваться на экране при взаимодействии. Правила CSS тщательно разработаны для обеспечения визуальной обратной связи через изменение цвета, теневые эффекты и даже вращение, делая меню не только функциональным, но и приятным для навигации. Определенные классы, такие как .triple, .triple span и .toggle, используются для стилизации элементов и определения анимаций, которые заставляют элементы меню расширяться, сжиматься и плавно смещаться при нажатии.

Магия анимации подробно описана в CSS, где указаны эффекты перехода и задержки для каждого элемента меню. Эти эффекты создают динамичный пользовательский опыт, позволяя меню изящно разворачиваться при нажатии на span «Меню». Использование цветов, теней и переходов позиционирования помогает отличать каждый элемент меню, делая навигацию интуитивно понятной и увлекательной.

Это творческое использование HTML и CSS демонстрирует, как простая концепция, такая как меню-гамбургер, может быть преобразована в динамичный инструмент навигации, улучшая взаимодействие пользователя с веб-сайтом. Структура и стилистические приемы кода предлагают отличную возможность для обучения всем, кто интересуется веб-дизайном и разработкой.

  •  Меню №124
    Меню №23
    Меню №23
    • HTML, CSS, JS
    • 9,87 КБ
    • Вертикальное
    Подробнее
  •  Меню №125
    Меню №22
    Меню №22
    • HTML, CSS
    • 6,33 КБ
    • Вертикальное, выпадающее
    Подробнее
  •  Меню №125
    Меню №21
    Меню №21
    • HTML, CSS
    • 1,64 КБ
    • Вертикальное, сайдбар, скользящее
    Подробнее
  •  Меню №124
    Меню №20
    Меню №20
    • HTML, CSS
    • 5,06 КБ
    • Вертикальное, скользящее
    Подробнее
  •  Меню №124
    Меню №19
    Меню №19
    • HTML, CSS
    • 8,21 КБ
    • Вертикальное, гамбургер, скользящее
    Подробнее
  •  Меню №124.5
    Меню №18
    Меню №18
    • HTML, CSS
    • 2,94 КБ
    • Вертикальное
    Подробнее
Меню