Всё крутится и летает
04 Nov, 2009Я занимался сексом с webkit-transition, результат можно увидеть тут, да и тут впрочем тоже, а вот что придумал Genn узнав об этом (примеры работают пока только в Хроме и Сафари).
Дальше будет немного теории, можно сразу перейти к примерам внизу.
transition transform
Это CSS3 свойства, которые пока работают только в Safari и Chrome. Еще они будут в следующей версии Firefox и Opera. Но пока нет.Если вам совсем нечего делать, можно прочитать о них в спецификации про 2d-transforms и про transitions. Это всё конечно draft, но вряд ли что-то изменится.
Вкратце всё обстоит так.
transform — совершает всякие странные эффекты с блоком. По сути похоже на text-transform, просто эффекты более странные.
Например можно писать так:
- .weirdblock{
- transform: rotate(45deg) scale(2);
- }
Был маленький и прямой, стал большой и кривой
Пока спецификация неактуальна, для Сафари и Хрома правило нужно писать с префиксом -webkit-
. То есть вот так:
- .weirdblock{
- -webkit-transform: rotate(45deg) scale(2);
- }
transition — определяет анимацию блока. Используется примерно так:
- div{
- opacity:0.5;
- -webkit-transition: opacity 1s linear; /*opacity - что анимируем,1s - длительность эффекта, linear - плавность эффекта*/
- }
- div:hover{
- opacity:1;
- }
- a{
- color:green;
- -webkit-transition:all 1s linear;
- }
- a:hover{
- color:red;
- }
Примеры (пока только для Safari и Chrome)
Анимация во всех примерах начинается по наведению мышки. Когда убираете мышку, она проигрывается до исходного состояния.Первое что пришло в голову, сделать анимированный комикс ;) Вот что получилось, выглядит странно, но он целиком сделан на CSS! Подумать только!
Дальше, еще интересней, я решил анимировать слова. А потом, конечно, это случилось и с буквами. :) Удивительно в этом то, что эту анимацию совершают всего 3-4 строки CSS-кода. (ну и джаваскрипт который предварительно раскидывает буквы по всему экрану, но это его единственная задача)
Если добавить изменение размера, получается забавно. А потом их можно еще и крутить ;), тогда они похожи на муравьёв. Но с двумя лимериками уже начинает тормозить.
По дороге получился смешной неудачный вариант. Буквы тут довольно неуклюжие.
Genn сделал ASCII трибьют, и еще один, не менее клёвый. Еще один прекрасный с отложенной анимацией (-webkit-transition-delay). И синяя лужа.
Может и у вас есть варианты? :)
Если у вас вдруг нет ни Сафари ни Хрома, вот видео пары анимаций:
Нравятся мне буквы
Разбросанные буквы
Пример от Genn
Opera & Firefox
В последних непубличных версиях этих браузеров эффекты уже работают, и вызываются соответствующими правилами -o-transform, -o-transition, -moz-transform, -moz-transition. Так что теоретически, если вы делаете эффект для сайта, правила можно продублировать с этими префиксами, авось потом заработает ;). Пока что свойства идеально деградируют в других браузерах, просто анимации нет, все происходит мгновенно. А красотами наслаждаемся в Хроме и Сафари.Мне известно только два, не совсем бесполезных варианта использования этих свойств, вот здесь в правой колонке внизу и вот тут смешно крутятся диски. Но, учитывая скорую поддержку Оперы и Фаерфокса, можно придумать что-то интересное =)
Все примеры
- Комикс на CSS
- Трибьют от Genn и второй, а также суперкрутой третий, и ошеломляющий четвертый
- Крутящиеся буквы, буквы которые засасывает и поворачивающиеся буквы, и еще неудачный вариант
- Аналоговые часы с помощью transition
Ваш арт по теме и мнение более чем приветствуется! :)
P.S.: Лимерики взяты из журнала Трамвай,
автор Татьяна Петросян, остальные тут.
48 комментариев к “Всё крутится и летает”