Красивое меню на CSS без JavaScript

Красивое меню на CSS без JavaScript

От автора: меню — это элемент, который присутствует практически на каждом сайте. Красивое меню, безусловно, становится украшением сайта. В этом уроке мы с Вами создадим простое, но вместе с тем красивое меню. При этом мы не используем ни строчки JavaScript-кода.

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

скачать исходникискачать урок

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

Создадим список с несколькими элементами меню:

Теперь напишем несколько стилевых правил, которые простой список превратят в простое горизонтальное меню:

В итоге мы получили, на мой взгляд, симпатичное горизонтальное меню

Теперь давайте добавим к нему немного магии CSS3. Для этого мы воспользуемся всего одним свойством — transition. Как Вы видите, сейчас при наведении на любой пункт меню происходит изменения фонового цвета. Смена происходит мгновенно. Свойство transition позволяет сделать этот переход (смену фонового цвета) плавным.

Вообще, данное свойство (transition) можно применять не только к фоновому цвету, его можно применять к чему угодно — цвет, шрифт, размер, положение. Свойство transition позволяет назначать изменение значений всех этих свойств в течение определенного промежутка времени, т.е. позволяет добавить плавность.

Свойство transition имеет 4 возможных значения:

transition-property — анимируемое свойство

transition-duration — продолжительность анимации

transition-timing-function — временная функция, используемая для анимации

transition-delay — задержка перед началом анимации

Два последних свойства являются необязательными. В нашем примере мы будем анимировать фон. На самом деле можно анимировать для одного и того же элемента сразу несколько свойств. При этом можно указывать для каждого свойства свои настройки анимации.

Если никаких особых настроек анимации для того или иного свойства не нужно, тогда вместо значения transition-property можно использовать ключевое слово all, т.е. мы анимируем все свойства с одинаковыми параметрами. В видео Вы можете найти несколько примеров использования свойства transition. Здесь же просто приведем конечный результат, который на практике используется чаще всего. Итак, добавим анимацию при наведении на пункт меню мыши:

Здесь мы анимируем все свойства в течение 1 секунды. Также можно использовать вендорные префиксы для совместимости с браузерами старых версий.

Вот, собственно, и все. Теперь при наведении на любой пункт меню мы увидим эффект плавной смены фона, который, на мой взгляд, придаст дополнительную красоту нашему меню.

Остается отметить, что сейчас мы анимируем свойства только при наведении на пункт меню. Когда мышь уходит с элемента меню — фоновый цвет принимает исходное значение без анимации. Если же Вы захотите сохранить анимацию для обоих действий (и при наведении мыши, и при уходе мыши с элемента), тогда просто перенесите свойство transition для элемента меню. Стили в таком случае будут следующими:

На этом урок завершен. Удачи Вам и до новых встреч!

Метки: ,

Похожие статьи:

Комментарии Вконтакте:

Комментарии (20)