Боковое меню как на YouTube

1236
8.4 из 10
Проголосовало: 9






Меню будет создано с помощью элемента nav, внутри которого перечислим элементы состоящие из иконок и текста.

Установка:

1. Там, где хотите видеть меню:

Код
<nav id="dr-menu" class="dr-menu">  
  <div class="dr-trigger"><span class="dr-icon dr-icon-menu"></span><a class="dr-label">Account</a></div>  
  <ul>  
  <li><a class="dr-icon dr-icon-user" href="#">Xavier Densmore</a></li>  
  <li><a class="dr-icon dr-icon-camera" href="#">Videos</a></li>  
  <li><a class="dr-icon dr-icon-heart" href="#">Favorites</a></li>  
  <li><a class="dr-icon dr-icon-bullhorn" href="#">Subscriptions</a></li>  
  <li><a class="dr-icon dr-icon-download" href="#">Downloads</a></li>  
  <li><a class="dr-icon dr-icon-settings" href="#">Settings</a></li>  
  <li><a class="dr-icon dr-icon-switch" href="#">Logout</a></li>  
  </ul>  
  </nav>


2. В CSS:

Код
@font-face {  
  font-family: 'icomoon';  
  src:url('../fonts/icomoon.eot');  
  src:url('../fonts/icomoon.eot?#iefix') format('embedded-opentype'),  
  url('../fonts/icomoon.woff') format('woff'),  
  url('../fonts/icomoon.ttf') format('truetype'),  
  url('../fonts/icomoon.svg#icomoon') format('svg');  
  font-weight: normal;  
  font-style: normal;  
  }  
  .dr-menu {  
  width: 100%;  
  max-width: 400px;  
  min-width: 300px;  
  position: relative;  
  font-size: 1.3em;  
  line-height: 2.5;  
  font-weight: 400;  
  color: #fff;  
  padding-top: 2em;  
  }  
  .dr-menu > div {  
  cursor: pointer;  
  position: absolute;  
  width: 100%;  
  z-index: 100;  
  }  
  .dr-menu > div .dr-icon {  
  top: 0;  
  left: 0;  
  position: absolute;  
  font-size: 150%;  
  line-height: 1.6;  
  padding: 0 10px;  
  transition: all 0.4s ease;  
  }  
  .dr-menu.dr-menu-open > div .dr-icon {  
  color: #60a773;  
  left: 100%;  
  transform: translateX(-100%);  
  }  
  .dr-menu > div .dr-icon:after {  
  content: "\e008";  
  position: absolute;  
  font-size: 50%;  
  line-height: 3.25;  
  left: -10%;  
  opacity: 0;  
  }  
  .dr-menu.dr-menu-open > div .dr-icon:after {  
  opacity: 1;  
  }  
  .dr-menu > div .dr-label {  
  padding-left: 3em;  
  position: relative;  
  display: block;  
  color: #60a773;  
  font-size: 0.9em;  
  font-weight: 700;  
  letter-spacing: 1px;  
  text-transform: uppercase;  
  line-height: 2.75;  
  transition: all 0.2s ease-in;  
  }  

  .dr-menu.dr-menu-open > div .dr-label {  
  transform: translateY(-90%);  
  }  
  .dr-menu ul {  
  padding: 0;  
  margin: 0 3em 0 0;  
  list-style: none;  
  opacity: 0;  
  position: relative;  
  z-index: 0;  
  pointer-events: none;  
  transition: opacity 0s linear 205ms;  
  }  
  .dr-menu.dr-menu-open ul {  
  opacity: 1;  
  z-index: 200;  
  pointer-events: auto;  
  transition: opacity 0s linear 0s;  
  }  

  .dr-menu ul li {  
  display: block;  
  margin: 0 0 5px 0;  
  opacity: 0;  
  transition: opacity 0.3s ease;  
  }  

  .dr-menu.dr-menu-open ul li {  
  opacity: 1;  
  }  

  .dr-menu.dr-menu-open ul li:nth-child(2) {  
  transition-delay: 35ms;  
  }  

  .dr-menu.dr-menu-open ul li:nth-child(3) {  
  transition-delay: 70ms;  
  }  

  .dr-menu.dr-menu-open ul li:nth-child(4) {  
  transition-delay: 105ms;  
  }  

  .dr-menu.dr-menu-open ul li:nth-child(5) {  
  transition-delay: 140ms;  
  }  

  .dr-menu.dr-menu-open ul li:nth-child(6) {  
  transition-delay: 175ms;  
  }  

  .dr-menu.dr-menu-open ul li:nth-child(7) {  
  transition-delay: 205ms;  
  }  

  .dr-menu ul li a {  
  display: inline-block;  
  padding: 0 20px;  
  color: #fff;  
  }  

  .dr-menu ul li a:hover {  
  color: #60a773;  
  }  

  .dr-icon:before,  
  .dr-icon:after {  
  position: relative;  
  font-family: 'icomoon';  
  speak: none;  
  font-style: normal;  
  font-weight: normal;  
  font-variant: normal;  
  text-transform: none;  
  -webkit-font-smoothing: antialiased;  
  }  

  .dr-menu ul .dr-icon:before {  
  margin-right: 15px;  
  }  

  .dr-icon-bullhorn:before {  
  content: "\e000";  
  }  

  .dr-icon-camera:before {  
  content: "\e002";  
  }  

  .dr-icon-heart:before {  
  content: "\e003";  
  }  

  .dr-icon-settings:before {  
  content: "\e004";  
  }  

  .dr-icon-switch:before {  
  content: "\e005";  
  }  

  .dr-icon-download:before {  
  content: "\e006";  
  }  

  .dr-icon-user:before {  
  content: "\e001";  
  }  

  .dr-icon-menu:before {  
  content: "\e007";  
  }


3. Перед </body>:

Код
<script src="/js/ytmenu.js"></script>


всё!
Автор публикации: Загрузка
Загрузка
Вовчик, это его n материал
  • Оставить первым комментарий:
Добавлять комментарии могут только зарегистрированные пользователи.
Регистрация | Вход
Меню сайта
Категории
Для помощи создания сайта uCoz 25
Скрипты и модификации для Ucoz 2118
Шаблоны форумов Ucoz 28
Шаблоны сайтов Ucoz 431
Авторство Webo4ki 309
php скрипты для ucoz 57
Графика для uCoz 40
Мини-чат
Последние комментарии
  • Marishka написал:
  • Можете добавить свои input поля, но сохраняйте их порядок в html для правильного сохранения и вывода.
  • Marishka написал:
  • Новая версия 1.3 (+6 новых станций):
    Установка:
    Демо: Перейти
  • Marishka написал:
  • Доп 8 станций:
    Код
    <div class="mSt"><p>Tropical</p><div data="2/trop_64">64</div><br><div data="2/trop_128">128</div><br><div data="2/trop_320">320</div></div>  
      <div class="mSt"><p>Нафталин FM</p><div data="2/naft_64">64</div><br><div data="2/naft_128">128</div><br><div data="2/naft_320">320</div></div>  
      <div class="mSt"><p>Rave FM</p><div data="2/rave_64">64</div><br><div data="2/rave_128">128</div><br><div data="2/rave_320">320</div></div>  
      <div class="mSt"><p>Gold</p><div data="2/gold_64">64</div><br><div data="2/gold_128">128</div><br><div data="2/gold_320">320</div></div>  
      <div class="mSt"><p>GOA/PSY</p><div data="2/goa_64">64</div><br><div data="2/goa_128">128</div><br><div data="2/goa_320">320</div></div>  
      <div class="mSt"><p>Minimal/Tech</p><div data="2/mini_64">64</div><br><div data="2/mini_128">128</div><br><div data="2/mini_320">320</div></div>  
      <div class="mSt"><p>House</p><div data="2/fut_64">64</div><br><div data="2/fut_128">128</div><br><div data="2/fut_320">320</div></div>  
      <div class="mSt"><p>Megamix</p><div data="2/mix_64">64</div><br><div data="2/mix_128">128</div><br><div data="2/mix_320">320</div></div>


    Fix работы радио:
    Находим: if(radUrl=="tm" || radUrl=="ps" || radUrl=="teo" || radUrl=="dc")
    Меняем на: if (radUrl == "tm" || radUrl == "ps" || radUrl == "teo" || radUrl == "dc" || radUrl == "gop")
  • CbIPoK2513 написал:
  • Мой вариант выдаёт аватарку картинкой, а не текстом.
  • waak написал:
  • и ещё забыл добавить что использую модуль каталог сайтов
    Последние темы
    Опрос
    258
    А
    Р
    Что произойдёт: $("#...
    Статистика
    Анализ интернет сайта
    0
    онлайн
    0
    наших
    0
    чужих
    Онлайн всего: 2
    Гостей: 2
    Пользователей: 0
    0
    Сегодня были
    Топ пользователей: