Доверьте продвижение нам

Попробуйте надежный хостинг для вашего сайта

Мы рекомендуем своим клиентам! Получите надежность и полное управление вашим сайтом.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

от 29 920 

Как сделать мобильное меню css

Views Icon23

Чтобы создать мобильное меню в CSS, можно использовать свойства CSS, такие как display, position, transform, transition, и другие. Вот пример простого мобильного меню:

HTML:

<nav>
  <div class="menu-icon">
    <span></span>
    <span></span>
    <span></span>
  </div>
  <ul class="menu">
    <li><a href="#">Главная</a></li>
    <li><a href="#">Услуги</a></li>
    <li><a href="#">Контакты</a></li>
  </ul>
</nav>

CSS:

nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #333;
  color: #fff;
  padding: 10px 20px;
}

.menu-icon {
  display: none;
  cursor: pointer;
  flex-direction: column;
  justify-content: space-between;
  height: 24px;
  width: 30px;
}

.menu-icon span {
  background-color: #fff;
  height: 3px;
  width: 100%;
  transition: transform 0.3s ease-in-out;
}

.menu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.menu li {
  list-style: none;
  margin: 0 10px;
}

.menu a {
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .menu {
    display: none;
  }
  
  .menu-icon {
    display: flex;
  }

  nav {
    flex-direction: column;
    align-items: flex-start;
  }

  .menu-icon {
    display: flex;
  }

  .menu-icon span:first-of-type {
    transform: translateY(5px) rotate(45deg);
  }

  .menu-icon span:nth-of-type(2) {
    opacity: 0;
  }

  .menu-icon span:last-of-type {
    transform: translateY(-5px) rotate(-45deg);
  }

  .menu.is-active {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-left: 0;
    width: 100%;
    background-color: #222;
    position: absolute;
    top: 60px;
    left: 0;
    padding: 20px;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
    transform: translateY(-100%);
    transition: transform 0.3s ease-in-out;
  }

  .menu.is-active li {
    margin: 15px 0;
  }
  
  .menu.is-active a {
    color: #fff;
  }

  .menu-icon.is-active span:first-of-type {
    transform: translateY(0) rotate(45deg);
  }

  .menu-icon.is-active span:nth-of-type(2) {
    opacity: 0;
  }

  .menu-icon.is-active span:last-of-type {
    transform: translateY(0) rotate(-45deg);
  }
}

В этом примере мы используем flexbox для размещения элементов, используем transition для плавной анимации, display и position для создания мобильного меню. Мы также используем media query для изменения стилей, когда ширина экрана менее 768px. Это меню начинается как иконка «гамбургер» на больших экранах и переходит в полноценное меню при клике на иконку на малых экранах.

Пример на Codepen: https://codepen.io/anon/pen/zbRZVM

Поделиться:

Задать вопрос

Оставляя заявку, вы соглашаетесь с политикой обработки персональных данных.

Оставить заявку

Оставляя заявку, вы соглашаетесь с политикой обработки персональных данных.