Меню №18
- 2,94 КБ
- HTML, CSS
- Меню
- вертикальное
- Лицензия MIT
<ul class="menu">
<li title="главная"><a href="#" class="home">главная</a></li>
<li title="поиск"><a href="#" class="search">поиск</a></li>
<li title="работы"><a href="#" class="pencil">работы</a></li>
<li title="мы"><a href="#" class="active about">мы</a></li>
<li title="архив"><a href="#" class="archive">архив</a></li>
<li title="контакты"><a href="#" class="contact">контакты</a></li>
</ul>
@import url("https://fonts.googleapis.com/css2?family=Comfortaa:wght@700&display=swap");
@import url("//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.0.3/css/font-awesome.min.css");
.menu {
font-family: "Comfortaa", sans-serif;
position: fixed;
top: 0;
left: 0;
height: 100%;
list-style-type: none;
margin: 0;
padding: 0;
background: #fff4f5;
}
.menu li a {
display: block;
height: em;
width: 5em;
text-indent: -500em;
line-height: 5em;
text-align: center;
color: #ff5c62;
background: #fff4f5;
position: relative;
border-bottom: 1px solid #ffe2e3;
-webkit-transition: background 0.3s ease-in-out;
-o-transition: background 0.3s ease-in-out;
-moz-transition: background 0.3s ease-in-out;
transition: background 0.3s ease-in-out;
}
.menu li a:before {
font-family: FontAwesome;
text-indent: 0em;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
font-size: 1.4em;
}
.menu li a.search:before {
content: "\f002";
}
.menu li a.archive:before {
content: "\f187";
}
.menu li a.pencil:before {
content: "\f040";
}
.menu li a.contact:before {
content: "\f003";
}
.menu li a.about:before {
content: "\f007";
}
.menu li a.home:before {
content: "\f015";
}
.menu li a:hover {
background: #ff5c62;
color: #fff;
}
.menu li.current a {
background: #ff5e5e;
color: #fff;
}
.menu li a.active {
background: #ff5e5e;
color: #fff;
}
.menu li a.active:after {
position: absolute;
left: 5em;
top: 0;
content: "";
border: 2.5em solid transparent;
border-left-color: #ff5c62;
border-width: 2.5em 1em;
}
.menu li {
position: relative;
}
.menu li:after {
content: attr(title);
position: absolute;
left: 5em;
top: 0;
height: 5em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
text-transform: uppercase;
background: #ff5c62;
padding: 2em;
-webkit-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
-moz-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
visibility: hidden;
opacity: 0;
color: white;
}
.menu li:hover:after {
visibility: visible;
opacity: 1;
}
@media screen and (max-height: 34em) {
.menu li {
font-size: 70%;
}
}
Интересный фрагмент кода создает стильное вертикальное меню с использованием HTML и CSS, сочетая в себе изящный и современный дизайн, который одновременно функционален и визуально привлекателен. В его основе лежит структура HTML, построенная вокруг неупорядоченного списка <ul> с каждым элементом <li>, представляющим различные разделы меню. Эти элементы сделаны кликабельными через теги якоря <a>, облегчая навигацию.
Погружаясь в CSS, меню получает фиксированное положение на экране, что обеспечивает его видимость при прокрутке страницы вниз. Эстетический выбор мягкого розового фона с элементами, выделенными красным при наведении, добавляет теплый и приветливый оттенок. Использование иконок FontAwesome перед каждым элементом меню вносит дозу визуального стиля и помогает пользователям быстро идентифицировать интересующий их раздел. Кроме того, для сглаживания эффектов изменения цвета используются CSS-переходы, улучшая опыт взаимодействия с пользователем.
Что делает это меню особенным, так это его адаптивность. При наведении на каждый элемент меню его название отображается в стиле всплывающей подсказки справа, элегантно увеличивая ширину меню. Эта функция, в сочетании с медиа-запросами, которые корректируют размер шрифта для меньших экранов, обеспечивает дружественность меню и доступность на различных устройствах. В итоге получается вертикальное меню, которое не просто инструмент навигации, но и яркий элемент дизайна сайта.