Удобное меню, которое можно использовать на своем сайте. Очень хорошо будет смотреться как на светлом, так и на темном дизайне.
Выглядит меню в виде ленты, при наведении на пункты которого будет происходить плавная анимация, которая предаст меню еще более привлекательный вид.
Сперва создадим меню. Меню состоит из контейнеров и ссылок.
<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; }