1. Головна
  2. Колонка автора
  3. Адаптивне меню з jQuery та CSS

Адаптивне меню з jQuery та CSS

Розберемо, як створити адаптивне меню за допомогою jQuery без використання додаткових бібліотек та CSS. А після невеликих змін його можна адаптувати під будь-який дизайн вебсайту.
Адаптивне меню з jQuery та CSS
Для того, щоб у мобільній версії меню відобразити піктограми меню, необхідно використовувати шрифти Font awesome. Тому необхідно у код добавити код:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
Також необхідно додати бібліотеку Jquery:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
Добавляємо стилі:
ul, li{margin: 0; padding: 0; list-style-type: none}
a{color: inherit; text-decoration: none}
.clearfix:after{content: ""; display: block; clear: both}
.menu li{float: left}
.menu li a{display: inline-block; padding: 10px 15px}
.menuToggle{padding: 10px 15px; display: none; cursor: pointer}

@media screen and (max-width: 600px) {
.menu{display: none; position: absolute; background: #eee}
.menu li {float: none}
.menuToggle{display: inline-block}
}
І JavaScript:
$(function(){
$('.menuToggle').on('click', function(){
$('.menu').slideToggle(300, function(){
$('.fa').toggleClass('fa-bars fa-close');
});
});
});
Останнє, що потрібно зробити, це додати HTML код:
<div class="menuToggle"><i class="fa fa-bars"></i></div>
<ul class="menu">
<li><a href="#">Головна</a></li>
<li><a href="#">Новини</a></li>
<li><a href="#">Контакти</a></li>
</ul>
Ось і все, що потрібно для адаптивного меню.
Редакція «КовельPost» може не поділяти думку блогерів або дописувачів. За зміст публікацій і їх достовірність відповідальність несуть автори.

Коментарі

  • Вадим
    Доброго вечора. Підскажіть будь-ласка, чи є можливість замість font awesome використовувати свою іконку? Дякую)
    Відповісти
    • Дуже просто, перевизначаєте стилі:
      .fa-bars:before{
      z-index: 1000;
      content: '';
      background:url('open.png');
      background-size:cover;
      position:absolute;
      width:20px;
      height:20px;
      margin-left:-20px;
      }
      .fa-close:before{
      z-index: 1000;
      content: '';
      background:url('close.png');
      background-size:cover;
      position:absolute;
      width:20px;
      height:20px;
      margin-left:-20px;
      }
      Зображення open.png та close.png і будуть ваші іконки. Потрібно "погратися" зі стилями, вказати розмір тощо. У прикладі я навмисно дав більше правил, яких має повністю вистачити.

      І не забути видалити рядок підключення шрифту font-awesome:
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
      Відповісти

Підписуйтесь на наш канал у Telegram! 🚀

@kovelpost