Ленточное меню на CSS3


Используем переходы CSS3 и псевдо-классы CSS2 для создания анимированной навигационной ленты с минимальной разметкой.


IE8 и IE9 не поддерживают переходы CSS3, поэтому наведение курсора мыши
на пункт меню не будет анимироваться в указанных браузерах. IE7 плохо
поддерживает псевдо-элементы :before и :after, поэтому лента не будет
иметь раздвоенных концов и загибов в активном состоянии. При
необходимости псевдо-элементы можно заменить другой разметкой.

Во всех остальных браузерах меню отображается и работает отлично.

Установка:
Ставим где хотим видеть меню:


Code
<div class='ribbon'>
  <a href='#'><span>Главная</span></a>
  <a href='#'><span>О нас</span></a>
  <a href='#'><span>Сервисы</span></a>
  <a href='#'><span>Кнотакт</span></a>
</div>


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

Шаг №2:
Ставим следующий код в css:

Code
.ribbon {
  display:inline-block;
  }

  .ribbon:after, .ribbon:before {
  margin-top:0.5em;
  content: "";
  float:left;
  border:1.5em solid #fff;
  }

  .ribbon:after {
  border-right-color:transparent;
  }

  .ribbon:before {
  border-left-color:transparent;
  }

  .ribbon a:link, .ribbon a:visited {  
  color:#000;
  text-decoration:none;
  float:left;
  height:3.5em;
  overflow:hidden;
  }

  .ribbon span {
  background:#fff;
  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; /* Saf3.2+, Chrome */
  -moz-transition: background-color 0.2s, margin-top 0.2s; /* FF4+ */
  -ms-transition: background-color 0.2s, margin-top 0.2s; /* IE10 */
  -o-transition: background-color 0.2s, margin-top 0.2s; /* Opera 10.5+ */
  transition: background-color 0.2s, margin-top 0.2s;
  }

  .ribbon a:hover span {
  background:#FFD204;
  margin-top:0;
  }

  .ribbon span:before {
  content: "";
  position:absolute;
  top:3em;
  left:0;
  border-right:0.5em solid #9B8651;
  border-bottom:0.5em solid #fff;
  }

  .ribbon span:after {
  content: "";
  position:absolute;
  top:3em;
  right:0;
  border-left:0.5em solid #9B8651;
  border-bottom:0.5em solid #fff;
  }


P.S. Меню может работать не на всех сайтах!

Похожие материалы
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]