Реализуем простое, но необычное боковое меню.

Реализуем простое, но необычное боковое меню.

@labweb

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

ШАГ 1

Добавляем HTML:


<!DOCTYPE html> 

<html> 

 <head> 

<meta name="viewport" content="width=device-width, initial-scale=1"> 

<title>WebLab - SideMenu</title> 

 

 </head> 

 <body> 

 

<div id="weblabmenu" class="WebMenu"> 

 <a href="javascript:void(0)" class="close" onclick="closemenu()">X</a> 

 <a href="#">Home</a> 

 <a href="#">F.A.Q.</a> 

 <a href="#">Shopping</a> 

</div> 

<div id="menu"> 

 <span style="font-size:50px;" onclick="openmenu()">Menu Click</span> 

</div>  

 

 </body> 

</html>


ШАГ 2

Добавляем CSS:


 <style> 

 

.WebMenu { 

 height: 100%; 

 width: 0; 

 position: fixed; 

 z-index: 1; 

 top: 0; 

 left: 0; 

 background-color: black; 

 overflow-x: hidden; /* Отключаем горизонтальную прокрутку */ 

 padding-top: 60px; 

 transition: 0.5s; /* Эффект перехода */ 

 /* Ссылки */ 

.WebMenu a { 

 padding: 8px 8px 8px 32px; 

 text-decoration: none; 

 font-size: 35px; 

 color: #818181; 

 display: block; 

 transition: 0.3s; 

/* При наведении меняет цвет текста */ 

.WebMenu a:hover { 

 color: white; 

/* Располагаем кнопку закрытия */ 

.WebMenu .close { 

 position: absolute; 

 top: 0; 

 right: 5px; 

 font-size: 35px; 

 margin-left: 50px; 

/* Перемещаем содержимое страницы вправо при открытии меню */ 

#menu { 

 transition: margin-left .5s; 

 padding: 16px; 

 

 </style>


ШАГ 3

Добавляем JS:


 <script> 

 /* Устанавливаем значения для меню и затемнение экрана */ 

function openmenu() { 

 document.getElementById("weblabmenu").style.width = "200px"; 

 document.getElementById("menu").style.marginLeft = "200px"; 

 document.body.style.backgroundColor = "rgba(0,0,0,0.5)"; 

/* Восстанавливаем все значения, закрываем меню */ 

function closemenu() { 

 document.getElementById("weblabmenu").style.width = "0"; 

 document.getElementById("menu").style.marginLeft= "0"; 

 document.body.style.backgroundColor = "white"; 

 </script>


На этом всё! Подписывайся на канал WebLab, мир веб-разработки.

Report Page