Найти тему

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

Оглавление

Сложность - ЛЕГКО

Языки - HTML, JS, CSS

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

ШАГ 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>

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

Если вам понравилось, то не забудьте поделиться с друзьями.