Webmasters.BY

Главная Статьи Верстка сайтов Создаем привлекательные hover-эффекты используя фоновые изображения
Создаем привлекательные hover-эффекты используя фоновые изображения
Рейтинг пользователей: / 1
ХудшийЛучший 
03.12.2011 00:00
Содержание
Создаем привлекательные hover-эффекты используя фоновые изображения
Страница 2
Все страницы

css multiple backgrounds

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

Что мы будем делать?

Посмотрите демо-версию примера, который мы реализуем при помощи одного только CSS. Наведите курсор мыши на круги и подумайте о том, как бы вы выполнили эти эффекты на чистом CSS.

Демонстрация

Несколько фоновых изображений

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

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

Сегодня мы создадим пять различных версий.

Концепция

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

Когда мы используем несколько фонов в сценарии, то мы вдруг получаем довольно много переменных для работы. После небольшой настройки, мы можем создать несколько сложных анимаций, используя только CSS transitions, который, на данный момент, все же имеют лучшую поддержку браузеров, чем keyframe для  анимации.

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

css multiple backgrounds

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

Раздвижные двери: горизонтальные

css multiple backgrounds

Возьмем наш пример сверху и посмотрим, как мы сможем создать этот эффект. Для начала нам понадобятся два изображения фона.

Я буду использовать текстуры Dark Wood с утонченными узорами и пиктограммы  WC Sold Out A Bta.

css multiple backgrounds

CSS

Создайте пустой div в HTML и примените класс, который использует некоторые основные стили. Мы будем применять этот класс для каждого из примеров, которые мы создадим сегодня.

Самое главное здесь это border-radius, который установлен в половину высоты/ширины, тем самым мы создаем круг.

.circles {
 float: left;
 height: 200px; width: 200px;
 background-color: #eee;
 margin: 0 50px 50px 0;
 
 /*Создаем круг*/
 -webkit-border-radius: 100px;
 -moz-border-radius: 100px;
 border-radius: 100px;
}

Наши фоновые изображения будут сложены одно на другое.

css multiple backgrounds

Использование нескольких фоновых изображений

Первое, что мы собираемся сделать, это применить два фоновых изображения, но мы собираемся использовать текстуру древесины дважды в наших трех фонах.

Применение нескольких фоновых изображений в CSS так же просто, как применение одного, просто разделите их запятыми.

#slidingDoors {
 /* применение нескольких фоновых изображений */
 background-image: url('wood.jpg'), url('wood.jpg'), url('car.jpg');
}

Эти изображения будут иметь естественный порядок расположения, то есть в порядке, в котором мы перечислили их: первое из них - это верхнее изображение и последнее то, которое идет в конце.

css multiple backgrounds

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

/*применяем несколько фоновых изображений*/
#slidingDoors {
 background-image: url('wood.jpg'), url('wood.jpg'), url('car.jpg');
 background-repeat: no-repeat;
 
 /*позиционируем фоновые изображения*/
 background-position: -100px 0px, 100px 0px, 0px 0px;
}

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



Если вы заметили ошибку в тексте новости, пожалуйста, выделите её и нажмите Ctrl+Enter

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

Обновлено 03.12.2011 22:24
 

Апельсин-1

Голосование

Ваш любимый html-редактор?

Новые файлы

Шпаргалка по HTML5 Canvas

Archive - бесплатный кириллический шрифт

Шпаргалка по HTML5 атрибутам обработчиков событий

activecloud.ru

TisRef

Баннер
Система Orphus

Кто онлайн

Сейчас 47 гостей онлайн

Комментарии

Статистика