Чтение онлайн

ЖАНРЫ

CSS3 для веб-дизайнеров
Шрифт:

Рис. 4.07. В дизайне блога Panic Software используются небольшие CSS3– повороты, чтобы добавить реалистичности

Рис. 4.08. Без поворота блог по-прежнему выглядит замечательно

Повернутое Солнце

Другой хороший пример подходящего использования CSS-преобразований – сайт Outside , прекрасного приложения

о погоде для iPhone (рис. 4.09).

Рис. 4.09. Outside, приложение для iPhone, использует rotate, чтобы вращать Солнце

В самом верху страницы показывается изображение Солнца (рис. 4.10), которое вращается на 360° с помощью преобразования

rotate
. (В этом случае JavaScript используется для анимации поворота в браузерах, работающих на отличном от WebKit движке, но в шестой главе мы поговорим об анимациях, построенных на чистом CSS.) Это изящное улучшение дизайна просто и уместно, так как оно имитирует ту же анимацию Солнца, которая появляется в самом приложении на iPhone. Солнце не вращается в браузерах, которые не поддерживают CSS-преобразования, и это нормально. Ничто не выглядит неработающим в неанимированной версии сайта.

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

Рис. 4.10. Графика на сайте приложения Outside оживает с помощью позиционирования и вращения на CSS

Кручение (skew)

Преобразование skew берет координаты x, y и прокручивает элемент. Например, если мы хотим применить кручение в нашей фотогалерее, пишется следующий CSS-код. Параметры кручения: –5 градусов по координате x, 30 градусов по координате y (рис. 4.11):

Рис. 4.11. Преобразование skew деформирует фотографию

ul.gallery li a: hover img {
 

– webkit-transform: scale(1.5) skew(-5deg, 30deg);

– moz-transform: scale(1.5) skew(-5deg, 30deg);

– o-transform: scale(1.5) skew(-5deg, 30deg);

transform: scale(1.5) skew(-5deg, 30deg);

}

Как и 

rotate
, преобразование
skew
принимает положительные и отрицательные значения углов. Также можно использовать одно значение и для x, и для y (рис. 4.12):

Рис. 4.12. Закручивание фотографии на 30 градусов по обеим осям, x и y

ul.gallery li a: hover img {
 

– webkit-transform: scale(1.5) skew(30deg);

– moz-transform: scale(1.5) skew(30deg);

– o-transform: scale(1.5) skew(30deg);

transform: scale(1.5) skew(30deg);

}

Разумеется,

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

Например,

skew
может использоваться на текстовых блоках, чтобы создавать трехмерные визуализации на основе семантической разметки и CSS3 (рис. 4.13 и 4.14).

Рис. 4.13. Демо Пола Хэйза использует skew и переходы для создания трехмерных кубов из простых кусков гипертекста (http://www.paulrhayes.com/experiments/cube/multiCubes.html)

Рис. 4.14. The Web Trend Map использует skew, чтобы разместить аватары на изометрической сетке, таким образом создавая уникальные визуализации данных на основе плоских элементов (http://www.webtrendmap.com/)

Сдвиг (translate)

Наконец, преобразование

translate
позволяет сдвигать элемент относительно его обычного положения на экране, используя координаты x, y.

Например, если в состоянии hover хочется сдвинуть изображение с его начального положения, можно применить преобразование

translate
. Применив переход, такое движение можно плавно анимировать.

Представленный ниже код сдвинет изображение на 20px вправо и на 40px вниз относительно изначального положения (рис. 4.15):

Рис. 4.15. Использование преобразования translate для сдвига изображения в состоянии: hover

ul.gallery li a: hover img {

– webkit-transform: scale(1.5) translate(20px, 40px);

– moz-transform: scale(1.5) translate(20px, 40px);

– o-transform: scale(1.5) translate(20px, 40px);

transform: scale(1.5) translate(20px, 40px);

}

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

translate
(–20px, –40px)
.

Как и вышеупомянутые преобразования,

translate
не затрагивает остальные элементы в документе и сдвигает указанный элемент именно туда, куда нужно. Это означает, что не нужно думать о полях, отступах, абсолютном позиционировании и об использовании свойства clear для плавающих элементов. Достаточно дать
translate
нужные координаты, и элемент встанет на указанное место.

Разные преобразования, помогающие поддержать рассказ

Пример фотогалереи показал, как преобразования scale, rotate, skew и translate могут сочетаться с переходами, чтобы создавать более яркий дизайн. Ключ к использованию этих преобразований с умом заключается в том, чтобы находить подходящие ситуации, в которых преобразования помогут рассказывать историю того, что показывается на экране.

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

Поделиться с друзьями: