Выпадающее меню боковой панели с использованием HTML, CSS и JavaScript

Здравствуйте, читатели, сегодня мы научимся создавать адаптивное раскрывающееся меню боковой панели с помощью HTML, CSS и JavaScript. Если вам нужен этот дизайн боковой панели без раскрывающегося меню, вы можете перейти по этой ссылке: Адаптивное меню боковой панели.

Боковая панель означает раздел на веб-сайте, расположенный справа или слева с некоторыми важными навигационными ссылками, и пользователь может открыть или закрыть его. Выпадающее меню означает, что подменю или навигационные ссылки, которые скрыты в самом начале, но когда пользователь наводит курсор или щелкает по основной навигационной ссылке, появляется подменю.

Есть несколько способов создать раскрывающееся меню навигации. Я думаю, что это самые лучшие и простые способы:

В HTML:
Сделайте тег <ul> </ul> в качестве родительского для основных ссылок навигации.
Внутри тега <ul> </ul> добавьте тег <li> </li> вроде этого <ul> <li> Home </li> </ul>
Теперь для подменю снова добавьте тег <ul> </ul> внутри <li> </li>, например:
<ul> <li> На главную
<ul>
<li>Sub Menu</li>
</ul>
</li> </ul>

На самом деле все это сделано с помощью HTML и CSS, но немного использовался JavaScript для создания функций открытия и закрытия. Мы также можем создавать функции открытия-закрытия с помощью HTML и CSS, только если вам интересно узнать об этом, по этой ссылке — Меню боковой панели, используя только HTML и CSS.

Выпадающее меню боковой панели 

Перед копированием данного кода вам необходимо создать два файла: файлы HTML и CSS. После создания этих двух файлов вы можете скопировать и вставить следующие коды в свои документы.

Чтобы скопировать следующий HTML-код раскрывающегося меню боковой панели, вы должны создать файл с именем index.html на своем компьютере и скопировать и вставить данный HTML-код в свой HTML-документ.

КОД HTML:

 

<!DOCTYPE html>

<!— Created by CodingLab |www.youtube.com/CodingLabYT—>

<html lang=»en» dir=»ltr»>

  <head>

    <meta charset=»UTF-8″>

    <!—<title> Drop Down Sidebar Menu | CodingLab </title>—>

    <link rel=»stylesheet» href=»style.css»>

    <!— Boxiocns CDN Link —>

    <link href=’https://unpkg.com/boxicons@2.0.7/css/boxicons.min.css’ rel=’stylesheet’>

     <meta name=»viewport» content=»width=device-width, initial-scale=1.0″>

   </head>

<body>

  <div class=»sidebar close»>

    <div class=»logo-details»>

      <i class=’bx bxl-c-plus-plus’></i>

      <span class=»logo_name»>CodingLab</span>

    </div>

    <ul class=»nav-links»>

      <li>

        <a href=»#»>

          <i class=’bx bx-grid-alt’ ></i>

          <span class=»link_name»>Dashboard</span>

        </a>

        <ul class=»sub-menu blank»>

          <li><a class=»link_name» href=»#»>Category</a></li>

        </ul>

      </li>

      <li>

        <div class=»iocn-link»>

          <a href=»#»>

            <i class=’bx bx-collection’ ></i>

            <span class=»link_name»>Category</span>

          </a>

          <i class=’bx bxs-chevron-down arrow’ ></i>

        </div>

        <ul class=»sub-menu»>

          <li><a class=»link_name» href=»#»>Category</a></li>

          <li><a href=»#»>HTML & CSS</a></li>

          <li><a href=»#»>JavaScript</a></li>

          <li><a href=»#»>PHP & MySQL</a></li>

        </ul>

      </li>

      <li>

        <div class=»iocn-link»>

          <a href=»#»>

            <i class=’bx bx-book-alt’ ></i>

            <span class=»link_name»>Posts</span>

          </a>

          <i class=’bx bxs-chevron-down arrow’ ></i>

        </div>

        <ul class=»sub-menu»>

          <li><a class=»link_name» href=»#»>Posts</a></li>

          <li><a href=»#»>Web Design</a></li>

          <li><a href=»#»>Login Form</a></li>

          <li><a href=»#»>Card Design</a></li>

        </ul>

      </li>

      <li>

        <a href=»#»>

          <i class=’bx bx-pie-chart-alt-2′ ></i>

          <span class=»link_name»>Analytics</span>

        </a>

        <ul class=»sub-menu blank»>

          <li><a class=»link_name» href=»#»>Analytics</a></li>

        </ul>

      </li>

      <li>

        <a href=»#»>

          <i class=’bx bx-line-chart’ ></i>

          <span class=»link_name»>Chart</span>

        </a>

        <ul class=»sub-menu blank»>

          <li><a class=»link_name» href=»#»>Chart</a></li>

        </ul>

      </li>

      <li>

        <div class=»iocn-link»>

          <a href=»#»>

            <i class=’bx bx-plug’ ></i>

            <span class=»link_name»>Plugins</span>

          </a>

          <i class=’bx bxs-chevron-down arrow’ ></i>

        </div>

        <ul class=»sub-menu»>

          <li><a class=»link_name» href=»#»>Plugins</a></li>

          <li><a href=»#»>UI Face</a></li>

          <li><a href=»#»>Pigments</a></li>

          <li><a href=»#»>Box Icons</a></li>

        </ul>

      </li>

      <li>

        <a href=»#»>

          <i class=’bx bx-compass’ ></i>

          <span class=»link_name»>Explore</span>

        </a>

        <ul class=»sub-menu blank»>

          <li><a class=»link_name» href=»#»>Explore</a></li>

        </ul>

      </li>

      <li>

        <a href=»#»>

          <i class=’bx bx-history’></i>

          <span class=»link_name»>History</span>

        </a>

        <ul class=»sub-menu blank»>

          <li><a class=»link_name» href=»#»>History</a></li>

        </ul>

      </li>

      <li>

        <a href=»#»>

          <i class=’bx bx-cog’ ></i>

          <span class=»link_name»>Setting</span>

        </a>

        <ul class=»sub-menu blank»>

          <li><a class=»link_name» href=»#»>Setting</a></li>

        </ul>

      </li>

      <li>

    <div class=»profile-details»>

      <div class=»profile-content»>

        <!—<img src=»image/profile.jpg» alt=»profileImg»>—>

      </div>

      <div class=»name-job»>

        <div class=»profile_name»>Prem Shahi</div>

        <div class=»job»>Web Desginer</div>

      </div>

      <i class=’bx bx-log-out’ ></i>

    </div>

  </li>

</ul>

  </div>

  <section class=»home-section»>

    <div class=»home-content»>

      <i class=’bx bx-menu’ ></i>

      <span class=»text»>Drop Down Sidebar</span>

    </div>

  </section>

  <script>

  let arrow = document.querySelectorAll(«.arrow»);

  for (var i = 0; i < arrow.length; i++) {

    arrow[i].addEventListener(«click», (e)=>{

   let arrowParent = e.target.parentElement.parentElement;//selecting main parent of arrow

   arrowParent.classList.toggle(«showMenu»);

    });

  }

  let sidebar = document.querySelector(«.sidebar»);

  let sidebarBtn = document.querySelector(«.bx-menu»);

  console.log(sidebarBtn);

  sidebarBtn.addEventListener(«click», ()=>{

    sidebar.classList.toggle(«close»);

  });

  </script>

</body>

</html>

КОД CSS:

 

/* Google Fonts Import Link */

@import url(‘https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap’);

*{

  margin: 0;

  padding: 0;

  box-sizing: border-box;

  font-family: ‘Poppins’, sans-serif;

}

.sidebar{

  position: fixed;

  top: 0;

  left: 0;

  height: 100%;

  width: 260px;

  background: #11101d;

  z-index: 100;

  transition: all 0.5s ease;

}

.sidebar.close{

  width: 78px;

}

.sidebar .logo-details{

  height: 60px;

  width: 100%;

  display: flex;

  align-items: center;

}

.sidebar .logo-details i{

  font-size: 30px;

  color: #fff;

  height: 50px;

  min-width: 78px;

  text-align: center;

  line-height: 50px;

}

.sidebar .logo-details .logo_name{

  font-size: 22px;

  color: #fff;

  font-weight: 600;

  transition: 0.3s ease;

  transition-delay: 0.1s;

}

.sidebar.close .logo-details .logo_name{

  transition-delay: 0s;

  opacity: 0;

  pointer-events: none;

}

.sidebar .nav-links{

  height: 100%;

  padding: 30px 0 150px 0;

  overflow: auto;

}

.sidebar.close .nav-links{

  overflow: visible;

}

.sidebar .nav-links::-webkit-scrollbar{

  display: none;

}

.sidebar .nav-links li{

  position: relative;

  list-style: none;

  transition: all 0.4s ease;

}

.sidebar .nav-links li:hover{

  background: #1d1b31;

}

.sidebar .nav-links li .iocn-link{

  display: flex;

  align-items: center;

  justify-content: space-between;

}

.sidebar.close .nav-links li .iocn-link{

  display: block

}

.sidebar .nav-links li i{

  height: 50px;

  min-width: 78px;

  text-align: center;

  line-height: 50px;

  color: #fff;

  font-size: 20px;

  cursor: pointer;

  transition: all 0.3s ease;

}

.sidebar .nav-links li.showMenu i.arrow{

  transform: rotate(-180deg);

}

.sidebar.close .nav-links i.arrow{

  display: none;

}

.sidebar .nav-links li a{

  display: flex;

  align-items: center;

  text-decoration: none;

}

.sidebar .nav-links li a .link_name{

  font-size: 18px;

  font-weight: 400;

  color: #fff;

  transition: all 0.4s ease;

}

.sidebar.close .nav-links li a .link_name{

  opacity: 0;

  pointer-events: none;

}

.sidebar .nav-links li .sub-menu{

  padding: 6px 6px 14px 80px;

  margin-top: -10px;

  background: #1d1b31;

  display: none;

}

.sidebar .nav-links li.showMenu .sub-menu{

  display: block;

}

.sidebar .nav-links li .sub-menu a{

  color: #fff;

  font-size: 15px;

  padding: 5px 0;

  white-space: nowrap;

  opacity: 0.6;

  transition: all 0.3s ease;

}

.sidebar .nav-links li .sub-menu a:hover{

  opacity: 1;

}

.sidebar.close .nav-links li .sub-menu{

  position: absolute;

  left: 100%;

  top: -10px;

  margin-top: 0;

  padding: 10px 20px;

  border-radius: 0 6px 6px 0;

  opacity: 0;

  display: block;

  pointer-events: none;

  transition: 0s;

}

.sidebar.close .nav-links li:hover .sub-menu{

  top: 0;

  opacity: 1;

  pointer-events: auto;

  transition: all 0.4s ease;

}

.sidebar .nav-links li .sub-menu .link_name{

  display: none;

}

.sidebar.close .nav-links li .sub-menu .link_name{

  font-size: 18px;

  opacity: 1;

  display: block;

}

.sidebar .nav-links li .sub-menu.blank{

  opacity: 1;

  pointer-events: auto;

  padding: 3px 20px 6px 16px;

  opacity: 0;

  pointer-events: none;

}

.sidebar .nav-links li:hover .sub-menu.blank{

  top: 50%;

  transform: translateY(-50%);

}

.sidebar .profile-details{

  position: fixed;

  bottom: 0;

  width: 260px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  background: #1d1b31;

  padding: 12px 0;

  transition: all 0.5s ease;

}

.sidebar.close .profile-details{

  background: none;

}

.sidebar.close .profile-details{

  width: 78px;

}

.sidebar .profile-details .profile-content{

  display: flex;

  align-items: center;

}

.sidebar .profile-details img{

  height: 52px;

  width: 52px;

  object-fit: cover;

  border-radius: 16px;

  margin: 0 14px 0 12px;

  background: #1d1b31;

  transition: all 0.5s ease;

}

.sidebar.close .profile-details img{

  padding: 10px;

}

.sidebar .profile-details .profile_name,

.sidebar .profile-details .job{

  color: #fff;

  font-size: 18px;

  font-weight: 500;

  white-space: nowrap;

}

.sidebar.close .profile-details i,

.sidebar.close .profile-details .profile_name,

.sidebar.close .profile-details .job{

  display: none;

}

.sidebar .profile-details .job{

  font-size: 12px;

}

.home-section{

  position: relative;

  background: #E4E9F7;

  height: 100vh;

  left: 260px;

  width: calc(100% — 260px);

  transition: all 0.5s ease;

}

.sidebar.close ~ .home-section{

  left: 78px;

  width: calc(100% — 78px);

}

.home-section .home-content{

  height: 60px;

  display: flex;

  align-items: center;

}

.home-section .home-content .bx-menu,

.home-section .home-content .text{

  color: #11101d;

  font-size: 35px;

}

.home-section .home-content .bx-menu{

  margin: 0 15px;

  cursor: pointer;

}

.home-section .home-content .text{

  font-size: 26px;

  font-weight: 600;

}

@media (max-width: 420px) {

  .sidebar.close .nav-links li .sub-menu{

    display: none;

  }

}

Вот и всё.

 

Рейтинг
( Пока оценок нет )
Загрузка ...