• Страница 1 из 1
  • 1
Форум » Веб-разработка » HTML + CSS — коды » Мобильное "навигация" меню Apple для сайта (Навигация мобильных сайтов и приложений при помощи CSS и JS)
Мобильное "навигация" меню Apple для сайта
Kosten
Пятница, 01 Мая 2020 | Сообщение 1
Оффлайн
Администраторы
Сообщений:44342
Награды: 70
Прекрасно выполненное Apple мобильное меню, которое стало все популярнее, где его использование преобладает от других аналогичных форматов. Где можно по умолчанию наблюдать значок, который идет по правой стороне и отвечает за функцию развертывание навигации.

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



Установочный процесс:

HTML

Код
<div class="container">

    <div class="header">
      <div class="icon-container">
        <div id="menuicon">
          <div class="bar bar1"></div>
          <div class="bar bar2"></div>
        </div>
      </div>
      <div class="mobile-menu">
        <ul class="menu">
          <li class="menu-item"><a href="#">ZORNET.RU</a>
          </li>
          <li class="menu-item"><a href="#">СКРИПТЫ</a>
          </li>
          <li class="menu-item"><a href="#">ШАБЛОНЫ</a>
          </li>
          <li class="menu-item"><a href="#">ДИЗАЙН</a>
          </li>
          <li class="menu-item"><a href="#">CSS</a>
          </li>
          <li class="menu-item"><a href="#">МУЗЫКА</a>
          </li>
          <li class="menu-item"><a href="#">КОНТАКТЫ</a>
          </li>
        </ul>
      </div>
    </div>

    </div>

CSS

Код
.container {
    background: #f0f0f0;
    position: relative;
    overflow: hidden;
    width: 375px;
    height: 600px;
    margin: 50px auto 0;
    box-shadow: 0 0 50px 10px #aaa;
}
.container .header {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
}
.content {
    padding: 40px 5% 20px;
    text-align: justify;
    max-height: 100%;
    color: #333;
    overflow-y: scroll;
}
.content img {
    width: 100%;
    position: relative;
    display: block;
    margin: 40px auto 30px;
}
@media (max-width: 480px) {
    .container {
  margin: 0 auto;
  width: 100%;
  height: 100%;
  box-shadow: none;
    }
    .container .header {
  position: fixed;
    }
    .content {
  overflow-y: hidden;
    }
}
/* End container/placeholder */

/* Menu Header */
.header {
    background: rgba(0, 0, 0, 0.9);
    overflow: hidden;
    height: 55px;
    width: 100%;
    z-index: 1;
    position: fixed;
    transition: all 0.4s ease-out, background 1s ease-out;
}
.header.menu-open {
    height: 100%;
    background: #111;
    transition: all 0.45s ease-out, background 0.8s ease-out;
}

/* Menu List items */
.mobile-menu {
    clear: both;
}
.header ul.menu {
    position: relative;
    display: block;
    padding: 0px 40px 0;
    list-style: none;
}
.header ul.menu li.menu-item a {
    display: block;
    position: relative;
    color: #fff;
    text-decoration: none;
    font-size: 18px;
    line-height: 2.8;
    width: 100%;
    -webkit-tap-highlight-color: transparent;
}
.header ul.menu li.menu-item {
    border-bottom: 1px solid #333;
    margin-top: 5px;
    opacity: 0;
    transition: opacity 0.6s cubic-bezier(0.4, 0.01, 0.165, 0.99), -webkit-transform 0.5s cubic-bezier(0.4, 0.01, 0.165, 0.99);
    transition: transform 0.5s cubic-bezier(0.4, 0.01, 0.165, 0.99), opacity 0.6s cubic-bezier(0.4, 0.01, 0.165, 0.99);
    transition: transform 0.5s cubic-bezier(0.4, 0.01, 0.165, 0.99), opacity 0.6s cubic-bezier(0.4, 0.01, 0.165, 0.99), -webkit-transform 0.5s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}
.header ul.menu li.menu-item:nth-child(1) {
    transition-delay: 0.35s;
}
.header ul.menu li.menu-item:nth-child(2) {
    transition-delay: 0.3s;
}
.header ul.menu li.menu-item:nth-child(3) {
    transition-delay: 0.25s;
}
.header ul.menu li.menu-item:nth-child(4) {
    transition-delay: 0.2s;
}
.header ul.menu li.menu-item:nth-child(5) {
    transition-delay: 0.15s;
}
.header ul.menu li.menu-item:nth-child(6) {
    transition-delay: 0.1s;
}
.header ul.menu li.menu-item:nth-child(7) {
    transition-delay: 0.05s;
}
.header.menu-open ul.menu li.menu-item {
    opacity: 1;
}
.header.menu-open ul.menu li.menu-item:nth-child(1) {
    transition-delay: 0.05s;
}
.header.menu-open ul.menu li.menu-item:nth-child(2) {
    transition-delay: 0.1s;
}
.header.menu-open ul.menu li.menu-item:nth-child(3) {
    transition-delay: 0.15s;
}
.header.menu-open ul.menu li.menu-item:nth-child(4) {
    transition-delay: 0.2s;
}
.header.menu-open ul.menu li.menu-item:nth-child(5) {
    transition-delay: 0.25s;
}
.header.menu-open ul.menu li.menu-item:nth-child(6) {
    transition-delay: 0.3s;
}
.header.menu-open ul.menu li.menu-item:nth-child(7) {
    transition-delay: 0.35s;
}

/* Menu Icon */
.icon-container {
    position: relative;
    display: inline-block;
    z-index: 2;
    float: right;
    /* Simply change property to float left to switch icon side :) */
    height: 55px;
    width: 55px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    transition: all 0.3s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}
.icon-container #menuicon {
    width: 20px;
    height: 10px;
    position: relative;
    display: block;
    margin: -4px auto 0;
    top: 50%;
}
#menuicon .bar {
    width: 100%;
    height: 1px;
    display: block;
    position: relative;
    background: #fff;
    transition: all 0.3s cubic-bezier(0.4, 0.01, 0.165, 0.99);
}
#menuicon .bar.bar1 {
    -webkit-transform: translateY(0px) rotate(0deg);
    transform: translateY(0px) rotate(0deg);
}
#menuicon .bar.bar2 {
    -webkit-transform: translateY(6px) rotate(0deg);
    transform: translateY(6px) rotate(0deg);
}
.menu-open .icon-container {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}
.menu-open .icon-container #menuicon .bar {
    transition: all 0.4s cubic-bezier(0.4, 0.01, 0.165, 0.99);
    transition-delay: 0.1s;
}
.menu-open .icon-container #menuicon .bar.bar1 {
    -webkit-transform: translateY(4px) rotate(45deg);
    transform: translateY(4px) rotate(45deg);
}
.menu-open .icon-container #menuicon .bar.bar2 {
    -webkit-transform: translateY(3px) rotate(-45deg);
    transform: translateY(3px) rotate(-45deg);
}

JS

Код
(function () {
  const header = document.querySelector('.header');
    const icon = document.querySelector('.icon-container');
    icon.onclick = function () {
  header.classList.toggle('menu-open');
    }
}());

Как можно понять, что навигация, которая предназначена для мобильных версий сайтов и приложений должна быть красивой и оригинальной по своему дизайну.

Демонстрация
Прикрепления: 1274521.png (29.5 Kb) · apple-style-mob.zip (7.0 Kb)
Страна: (RU)
Форум » Веб-разработка » HTML + CSS — коды » Мобильное "навигация" меню Apple для сайта (Навигация мобильных сайтов и приложений при помощи CSS и JS)
  • Страница 1 из 1
  • 1
Поиск: