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

Сперва создадим меню. Меню состоит из контейнеров и ссылок.
<div class='menu'>
<div class='menu1'>
<a href='#'><span>ССЫЛКА 1</span></a>
<a href='#'><span>ССЫЛКА 2</span></a>
<a href='#'><span>ССЫЛКА 3</span></a>
<a href='#'><span>ССЫЛКА 4</span></a>
<a href='#'><span>ССЫЛКА 5</span></a>
</div>
</div>
Контейнеру div с классом menu задаем стили.
.menu{
position:fixed;
top:10px;
left:200px;
}
еперь нам нужно чтобы наше меню было похоже на ленту. Для этого используем псевдоэлементы :before и :after
- Псевдоэлемент :before применяется для отображения желаемого контента до содержимого элемента, к которому он добавляется. Работает совместно со свойством content.
- Псевдоэлемент :after используется для вывода желаемого текста после содержимого элемента, к которому он добавляется. Псевдоэлемент :after работает совместно со свойством content.
.menu1:after, .menu1:before {
margin-top:0.5em;
content: "";
float:left;
border:1.5em solid #eeeeee;
}
.menu1:after {
border-right-color:transparent;
}
.menu1:before {
border-left-color:transparent;
}
Подкорректируем наши ссылки.
.menu1 a {
color:#333333;
text-decoration:none;
float:left;
height:3.5em;
overflow:hidden;
}
.menu1 span {
background:#eeeeee;
display:inline-block;
line-height:3em;
padding:0 1em;
margin-top:0.5em;
position:relative;
-webkit-transition: background-color 0.2s, margin-top 0.2s;
-moz-transition: background-color 0.2s, margin-top 0.2s;
-ms-transition: background-color 0.2s, margin-top 0.2s;
-o-transition: background-color 0.2s, margin-top 0.2s;
transition: background-color 0.2s, margin-top 0.2s;
}
Нам нужно что бы при наведение на ссылку она поднималась. В этом нам поможет псевдокласс :hover.
- :hover – Определяет стиль элемента при наведении на него курсора мыши, но при этом элемент еще не активирован, иными словами кнопка мыши не нажата.
.div2 a:hover span {
background:#FF7F50;
margin-top:0;
}
Используя уже знакомые нам псевдоэлементы :before и :after создаем эффект изгиба.
.menu1 span:before {
content: "";
position:absolute;
top:3em;
left:0;
border-right:0.5em solid #51909B;
border-bottom:0.5em solid #eeeeee;
}
.menu1 span:after {
content: "";
position:absolute;
top:3em;
right:0;
border-left:0.5em solid #51909B;
border-bottom:0.5em solid #eeeeee;
}