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

<p>Состояния перехода</p>

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

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

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

Таким образом, переход произойдет либо от того, что на ссылку наведут курсор, либо от того, что на нее будет наведен фокус (например, клавиатурой).

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,

a.foo: focus {

background: #690;

}

<p>Переход нескольких свойств</p>

Предположим, что кроме цвета фона хочется также менять цвет самой ссылки и накладывать переход на это изменение. Такого эффекта можно достичь, перечисляя одновременно несколько переходов и разделяя их запятой. На каждый переход можно навесить отдельную продолжительность и собственную временную функцию (рис. 2.03). (Продолжение строки отмечено символом»).

Рис. 2.03. Обычное состояние ссылки и состояние: hover

a.foo { 

padding: 5px 10px;

background: #9c3;

-webkit-transition: background.3s ease, color 0.2s linear;

-moz-transition: background.3s ease, color 0.2s linear;

-o-transition: background.3s ease, color 0.2s linear;

transition: background.3s ease, color 0.2s linear;

}

a.foo: hover,

a.foo: focus {

color: #030;

background: #690;

}

<p>Переход всех возможных состояний</p>

Вместо того чтобы перечислять несколько свойств, к которым хочется применить переход, можно использовать значение all. Тогда переход будет наложен на все возможные свойства.

Заменим перечисление background и color на значение all. Теперь эти переходы получат одинаковую продолжительность и временную функцию.

a.foo { 

padding: 5px 10px;

background: #9c3;

-webkit-transition: all 0.3s ease;

-moz-transition: all 0.3s ease;

-o-transition: all 0.3s ease;

transition: all 0.3s ease;

}

a.foo: hover,

a.foo: focus {

color: #030;

background: #690;

}

Использование all – удобный способ отследить все изменения, происходящие в состояниях :hover, :focus, :active, который избавляет от необходимости перечислять каждое свойство, нуждающееся в обозначении перехода.

<p>К каким свойствам применим переход</p>

Мы применили переход к свойствам background и color. Но есть много других свойств, на которые можно наложить переход, включая width, opacity, position и font-size. Таблица всех свойств (и их типов значений) опубликована на сайте W3C (http://bkaprt.com/css3/6/)[7].

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

<p>Почему бы не воспользоваться JavaScript?</p>

Читатель может подумать: раз не все браузеры поддерживают CSS-переходы, почему бы не использовать решение на JavaScript, чтобы показывать анимацию? Популярные фреймворки – jQuery, Prototype, script.aculo.us – уже давно предоставляют кросс-браузерные анимации.

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

Все книги серии Актуальные книги для тех, кто создает сайты

HTML5 для веб-дизайнеров
HTML5 для веб-дизайнеров

Джереми Кит обладает способностью писать легко и доступно о сложных вещах и сразу выделять те определенно важные моменты, которые имеют значение для дизайнеров-разработчиков. В книге «HTML5 для веб-дизайнеров» он рассказывает о современных тенденциях в области web-разработок.В HTML5 появилось много интересных тэгов, в том числе поддержка аудио– и видеофайлов. Теперь вам не надо тратить время на установку плагинов для проигрывания музыки или видео – просто воспользуйтесь одним из новых тегов.Автор убеждает, что можно использовать структурные элементы HTML5 прямо сейчас, например назначить стиль любому элементу, который вы захотите изобрести, или начать использовать доступные вам дополнительные уровни заголовков.Книга Джереми Кит – настоящая инструкция по использованию HTML5.

Кит Джереми

Зарубежная компьютерная, околокомпьютерная литература

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