6 лучших анимационных «фишек» CSS3
источник изображения http://ruseller.com/
CSS (англ. Cascading Style Sheets) — каскадные таблицы стилей; язык для описания стиля веб-страниц и элементов на них (изображения, отступы, таблицы, кнопки)
Почему именно CSS?
Потому что имеется множество неоспоримых плюсов при его использовании.
- Наличие стандарта, что резко увеличивает совместимость с разнообразными платформами.
- При выносе описания элементов в отдельный файл существенно ускоряется загрузка страниц (все описания стилей как раз находятся в отдельном файле .css). Подгружается только структура, а описание кэшируется. Как результат — уменьшается нагрузка на сервер.
- Описание сайта и описание элементов разделены. Реализован принцип «Мухи отдельно, котлеты отдельно». Это дает большую скорость работы при внесении исправлений и поддержке ресурса.
- При грамотном использовании CSS ваша страница будет корректно отображаться как на стационарных мониторах, так и на экранах мобильных гаджетов.
- К тому же любой текстовый браузер воспринимает css-верстку как текст и принимает без проблем.
- При масштабировании изображение, созданное с помощью CSS, не теряет в качестве, в отличии от растровых изображений, которые чувствительны к увеличению масштаба.
- CSS на вашем сайте не зависит от настроек браузера пользователя. В браузере можно отключить выполнение скриптов, но не выполнение стилей.
Актуальная версия CSS — CSS3, расширенная и дополненная «фичами». Эти дополнения хороши тем, что с их помощью вы сможете реализовывать практически любые анимационные эффекты. Всё зависит от вашей фантазии.
Самые эффектные примеры CCS3
Общий div для всех примеров:
body > div {
margin: 100px 100px;
width: 200px;
height: 100px;
background: #000;
color: #7FFF00;
font-family: Arial;
font-weight: 500;
font-size: 3.5em;
text-align: center;
line-height: 100px;
transition: all 0.9s ease;
}
1. Одно из лучших применений свойства transform — поворот объекта. Красиво смотрится на странице, добавляя ей динамику. При наведении курсора на объект он поворачивается на указанное количество градусов. Вы можете менять угол поворота и направление вращения в rotate. Время, за которое должно произойти событие, задаётся в transition, в нашем случае это 0.9 секунды. Не забываем про объявление класса в body.
.rotate:hover {
-webkit-transform: rotateZ(-180deg);
-ms-transform: rotateZ(-180deg);
transform: rotateZ(-180deg);
}
Результат (наведите курсор на объект):
2. Увеличение/уменьшение элемента. Очень полезная вещь. Эту функцию можно использовать для привлечения внимания пользователя к элементу. Событие происходит при наведении курсора.
.scalemaxmin:hover {
-webkit-transform: scale(1.5);
-ms-transform: scale(1.5);
transform: scale(1.5);
}
3. Есть еще приятный и полезный визуальный эффект — покачивание объекта из стороны в сторону, то есть несколько перемещений вправо-влево (в нашем случае). Результат — затухающие колебания.
Код, который заставляет покачиваться объект:
@keyframes swing {
15% {
transform: translateX(5px);
}
30% {
transform: translateX(-5px);
}
50% {
transform: translateX(3px);
}
65% {
transform: translateX(-3px);
}
80% {
transform: translateX(2px);
}
100% {
transform: translateX(0);
}
}
Применяем:
.swaying:hover {
animation: swing 1.5s ease;
animation-iteration-count: 1;
}
4. Прозрачность. Не только функционально, но и красиво. С помощью этого приёма вы можете привлечь внимание к объекту. Или, наоборот, снизить его к кнопке или месту на сайте, чтобы обратить внимание посетителя на что-то более важное.
.fade {
opacity:0.5;
}
.fade:hover {
opacity:1;
}
5. Эффект 3D текста также легко можно реализовать на css3. Никаких gif-ов, только код. Всё очень просто, но в то же время красиво. Реализуется с помощью добавления свойства text-shadow, которое формирует тень и уже известного нам по первому примеру свойства transform.
.three:hover {
text-shadow:
1px 1px #298A08,
2px 2px #298A08,
3px 3px #298A08,
5px 5px #298A08;
-webkit-transform: translateY(-5px);
transform: translateY(-5px);
}
6. Скругление углов. Этот вид анимации работает при использовании свойства border-radius. Можно скруглить углы или превратить прямоугольник в овал, изменяя значение процента.
.circle:hover
{
border-radius:100%;
}
Поиграться с кодом любого из примеров вы можете, нажав на ссылку JSFiddle в правом верхнем углу каждого фрейма. Как вы понимаете, это скелеты, но с помощью них можно сделать очень многое. Желание и фантазия творят чудеса!
Кстати, на этом портале реализованы некоторые подобные эффекты. А вы их заметили?
Тем, кто хочет стать программистом, рекомендуем профессию «Веб-разработчик».