Всем привет! В этом материале я покажу, как создать "выскальзывающее" меню на CSS .
Всем привет! В этом материале я покажу, как создать "выскальзывающее" меню на CSS.
На самом деле, все очень просто, поэтому я приведу код и, если вы знаете html и css, то без проблем сможете в нем разобраться. Если же вы испытываете проблемы с данными языками, стоит приобрести курс "Вёрстка сайта с нуля". Итак, поехали!
Код HTML:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Slide out menu</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<nav class="nav-side">
Содержание
<a href="#" class="nav-toggle"></a>
</nav>
<div class="wrapper">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quod autem beatae, sit debitis cupiditate obcaecati id sed, ea molestias, tenetur voluptates deleniti velit vel consequatur molestiae dolore quos hic perspiciatis expedita dignissimos temporibus possimus quidem sequi incidunt quibusdam. Eum dolore, deleniti repudiandae reprehenderit suscipit quos aperiam, sed. Facilis, quod recusandae?</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quod autem beatae, sit debitis cupiditate obcaecati id sed, ea molestias, tenetur voluptates deleniti velit vel consequatur molestiae dolore quos hic perspiciatis expedita dignissimos temporibus possimus quidem sequi incidunt quibusdam. Eum dolore, deleniti repudiandae reprehenderit suscipit quos aperiam, sed. Facilis, quod recusandae?</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quod autem beatae, sit debitis cupiditate obcaecati id sed, ea molestias, tenetur voluptates deleniti velit vel consequatur molestiae dolore quos hic perspiciatis expedita dignissimos temporibus possimus quidem sequi incidunt quibusdam. Eum dolore, deleniti repudiandae reprehenderit suscipit quos aperiam, sed. Facilis, quod recusandae?</p>
</div>
<script src="jquery.js"></script>
<script src="main.js"></script>
</body>
</html>
Код CSS:
body {
font: 1em "Helvetica", sans-serif;
line-height: 1.4;
font-weight: 200;
}
.wrapper {
margin-left: 50px;
}
.nav-side {
position: fixed;
left: 0;
top: 0;
height: 100%;
width: 100%;
max-width: 250px;
background: cornflowerblue;
box-sizing: border-box;
padding: 20px;
color: #fff;
margin-left: -250px;
transition: margin 200ms ease-in-out;
}
.nav-side.nav-open {
margin-left: 0;
box-shadow: 1px 1px 3px rgba(0, 0, 0, .1);
}
.nav-toggle {
position: absolute;
right: -40px;
top: 0;
width: 40px;
height: 40px;
background-color: cornflowerblue;
line-height: 40px;
text-decoration: none;
text-align: center;
border-bottom-right-radius: 3px;
box-shadow: 1px 0 3px rgba(0, 0, 0, .1);
}
.nav-toggle:before {
content: '\2192';
font-weight: 600;
color: #fff;
}
.nav-side.nav-open .nav-toggle:before {
content: '\2190';
}
Код JavaScript(JQuery):
$('.nav-side .nav-toggle').on('click', function(e) {
e.preventDefault();
$(this).parent().toggleClass('nav-open');
});
Вот и всё! Как видите, все очень просто. Большинство кода здесь - оформление самого блока. Все, что важно, это то, что мы отодвинули наш контент немного вправо, чтобы там поместилась наша кнопка со стрелочкой. Дальше мы убрали за пределы видимости наш блок меню и вытаскиваем его тогда, когда происходит клик по кнопке со стрелочкой, просто добавив нужный класс.
На этом у меня все! Спасибо за внимание!
