CSS3 для веб-дизайнеров
Шрифт:
Если вы, как и я, проспали все школьные уроки геометрии, не беспокойтесь. Я советую просто подставить каждое значение по очереди и увидеть, чем они отличаются друг от друга.
Продолжительность перехода в этом примере так мала, что сложно различить все шесть способов. Для более длительных анимаций выбранная временная функция становится важным параметром, так как есть время заметить изменение скорости на протяжении анимации.
Если сомневаетесь, знайте: значения
Задержка перехода
Можно сделать так, чтобы переход осуществлялся не сразу после того, как срабатывает
Краткая форма записи
Можно существенно упростить объявление перехода (в котором нет задержки), пользуясь свойством transition. Такой синтаксис будет использоваться во всех остальных примерах этой книги.
Мы получили намного более компактное правило, которое дает точно такой же результат.
Краткая форма записи перехода с задержкой
Если нужно добавить полусекундную задержку в краткую запись перехода, ее продолжительность ставится в конец правила:
Разумеется, эти замечательные переходы прекрасно действуют в браузерах, работающих на движке WebKit. Что насчет остальных?
Поддержка в браузерах
Как упоминалось ранее, переходы были изначально разработаны для движка WebKit и включены в Safari и Chrome начиная с версии 3.2, но Opera также поддерживает их начиная с 10.5 [5] . Поддержка заявлена и в Firefox 4.0 [6] .
Учитывая поддержку переходов на сегодняшний день и в ближайшем будущем, важно перечислять все требуемые браузерные префиксы, чтобы переходы работали в большем количестве браузеров по мере появления поддержки.
5
http://www.opera.com/docs/specs/presto23/css/transitions/
6
https://developer.mozilla.org/en/Css/Css_transitions
Полная
запись переходаНиже приводится дополненное объявление перехода, в которое добавлены префиксы
Такая запись позволяет получить сглаживание цвета фона в последних версиях Safari, Chrome и Opera, равно как и в более свежих версиях всех остальных браузеров, которые решат поддерживать переходы.
Состояния перехода
Я помню, что слегка запутался, когда в первый раз начал экспериментировать с переходами на CSS. Казалось, что было бы логичнее расположить объявление перехода в тот фрагмент кода, где определяется состояние
Например, можно наложить переход на состояния
Следующий пример добавляет точно такое же переключение фона для состояния
Таким образом, переход произойдет либо от того, что на ссылку наведут курсор, либо от того, что на нее будет наведен фокус (например, клавиатурой).
Переход нескольких свойств
Предположим, что кроме цвета фона хочется также менять цвет самой ссылки и накладывать переход на это изменение. Такого эффекта можно достичь, перечисляя одновременно несколько переходов и разделяя их запятой. На каждый переход можно навесить отдельную продолжительность и собственную временную функцию (рис. 2.03). (Продолжение строки отмечено символом»).