Читаем CSS3 для веб-дизайнеров полностью

Значение временной функции позволяет менять скорость перехода с течением времени одним из шести способов: ease, linear, ease-in, ease-out, ease-in-out и cubic-bezier, который позволяет определить произвольную временную кривую.

Если вы, как и я, проспали все школьные уроки геометрии, не беспокойтесь. Я советую просто подставить каждое значение по очереди и увидеть, чем они отличаются друг от друга.

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

Если сомневаетесь, знайте: значения ease (значение по умолчанию) или linear прекрасно подходят для коротких переходов.

Задержка перехода

Можно сделать так, чтобы переход осуществлялся не сразу после того, как срабатывает связанное с ним событие, но с некоторой задержкой. Например, сделаем так, чтобы переход цвета фона происходил через полсекунды после того, как ссылка попала в состояние hover. Такого поведения можно добиться свойством transition-delay.


a.foo {

padding: 5px 10px;

background: #9c3;

-webkit-transition-property: background;

-webkit-transition-duration: 0.3s;

-webkit-transition-timing-function: ease;

-webkit-transition-delay: 0.5s;

}


a.foo: hover {

background: #690;

}

Краткая форма записи

Можно существенно упростить объявление перехода (в котором нет задержки), пользуясь свойством transition. Такой синтаксис будет использоваться во всех остальных примерах этой книги.


a.foo { 

padding: 5px 10px;

background: #9c3;

-webkit-transition: background 0.3s ease;

}


a.foo: hover {

background: #690;

}


Мы получили намного более компактное правило, которое дает точно такой же результат.

Краткая форма записи перехода с задержкой

Если нужно добавить полусекундную задержку в краткую запись перехода, ее продолжительность ставится в конец правила:


a.foo {

padding: 5px 10px;

background: #9c3;

-webkit-transition: background 0.3s ease 0.5s;

}


a.foo: hover {

background: #690;

}


Разумеется, эти замечательные переходы прекрасно действуют в браузерах, работающих на движке WebKit. Что насчет остальных?

Поддержка в браузерах

Как упоминалось ранее, переходы были изначально разработаны для движка WebKit и включены в Safari и Chrome начиная с версии 3.2, но Opera также поддерживает их начиная с 10.5 [5]. Поддержка заявлена и в Firefox 4.0 [6].

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

Полная запись перехода

Ниже приводится дополненное объявление перехода, в которое добавлены префиксы -moz- и -o-, как и основное свойство transition. Как обычно, свойство без префикса ставится в самый конец, чтобы у него был наибольший вес, когда это свойство перейдет из состояния черновика в окончательную версию спецификации.


a.foo {

padding: 5px 10px;

background: #9c3;

-webkit-transition: background 0.3s ease;

-moz-transition: background 0.3s ease;

-o-transition: background 0.3s ease;

transition: background 0.3s ease;

}


a.foo: hover {

background: #690;

}

Такая запись позволяет получить сглаживание цвета фона в последних версиях Safari, Chrome и Opera, равно как и в более свежих версиях всех остальных браузеров, которые решат поддерживать переходы.

Состояния перехода

Я помню, что слегка запутался, когда в первый раз начал экспериментировать с переходами на CSS. Казалось, что было бы логичнее расположить объявление перехода в тот фрагмент кода, где определяется состояние :hover. Оказывается, что элемент может находиться и в других состояниях – не только в :hover – и наверняка захочется, чтобы переход происходил в каждом состоянии без дублирования кода.

Например, можно наложить переход на состояния :focus и :active. Нам не придется добавлять объявление перехода в описание каждого свойства, так как параметры перехода указываются лишь один раз – для основного состояния элемента.

Следующий пример добавляет точно такое же переключение фона для состояния :focus.

Перейти на страницу:

Похожие книги

Секреты приложений Google
Секреты приложений Google

Даже продвинутые пользователи Интернета не подозревают о тех огромных возможностях, которые предоставляют сервисы Google. Автор рассказывает о таких «секретах» сервисов, которые просто немедленно хочется использовать! Создавать сайты и презентации, бродить по улочкам Парижа, изучать звездное небо – все это доступно каждому, кто сидит у экрана монитора и имеет доступ в Интернет. Книга научит вас работать с веб-приложениями и тысячекратно увеличить свои возможности с помощью новейших технологий. Она написана легким, доступным языком и не требует от читателя наличия каких-либо специальных знаний. Книга содержит множество примеров, иллюстраций и будет полезна всем, кто не стоит на месте и стремится сделать свою жизнь более насыщенной и интересной.

Денис Балуев , Денис Игоревич Балуев

Программирование, программы, базы данных / Интернет / Программное обеспечение / Книги по IT
Самоучитель современного пользователя ПК
Самоучитель современного пользователя ПК

В самоучителе рассмотрены темы, актуальные для современного пользователя ПК: цифровое фото, запись, оцифровка, обработка и воспроизведение звуковых и видеофайлов; Web-камеры, запись компакт-дисков, а также сканирование и печать изображений, работа с дигитайзерами, подключение плазменных панелей и телевизоров к ПК. Для начинающих пользователей в необходимом объеме изложены основные сведения об устройстве компьютера и видах программ, описаны настройка и работа в инструментальных и сервисных программах (диагностика и проверка ПК, файловые менеджеры, программы-антивирусы и архиваторы). Дополнительно изложены вопросы восстановления работоспособности ПК. Рекомендуется широкому кругу читателей — начинающих пользователей и работающих на ПК, которые интересуются возможностями новой аппаратуры и программного обеспечения.

В. В. Мельниченко , Н. В. Калиниченко

Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение
Как заработать в Интернете. 35 самых быстрых способов
Как заработать в Интернете. 35 самых быстрых способов

В современном мире новые технологии играют решающую роль, а с помощью Интернета любой человек в короткое время может стать миллионером! И самое главное, что для этого вам даже не нужно выходить из дому – лишь тратить несколько часов времени на работу в Сети…Способов заработать в Сети довольно много, но не все они идеальны, и не все будут одинаково полезны и эффективны. Эта книга написана специально для тех, кого интересует заработок в Интернете. На ее страницах вы найдете обзор методов: известные и не очень, старые и новые способы заработка в Сети, варианты открытия своего дела и способы работать «на себя» без создания ООО или ИП. Подробное описание каждого метода позволит вам сделать вывод о том, какой способ заработка подходит лично вам, а может быть, вы придумаете что-то новое. После прочтения этой книги вы будете обладать всеми знаниями, необходимыми для заработка в Сети – читайте и начинайте зарабатывать!

Ольга Фомина

ОС и Сети, интернет / Интернет / Личные финансы / Финансы и бизнес / Книги по IT