Русские документы
Ежедневные компьютерные новости RSS rusdoc.ru  Найти :
Новости
Последние поступления
Книжный магазин
  Hardware:
Видеоустройства
Системные платы
Процессоры
Мобильные устройства
Аудиосистема
Охлаждение системы
Накопители информации
КПК и ноутбуки
Телефоны и связь
Периферия
Система
Сети
Разные устройства
 
  Programming:
Web-разработка
Языки программирования
Технологии и теория
Разработка игр
Программная инженерия
 
  Software:
Операционные системы
Windows 7
Базы данных
Обзоры программ
Графика и дизайн
   
  Life:
Компьютерная жизнь
Разные материалы
   
Партнеры
Публикация
Правовая информация
Реклама на сайте
Обратная связь
Экспорт в RSS Экспорт в RSS2.0
    Читать в Яндекс.Ленте



Новое в CSS 3: анимация, трансформация, переменные.

Раздел: Programming / Вебмастеру @ 12.04.2008 | Ключевые слова: css 3 версия для печати

Автор: habratchanka
Источник: habrahabr

Что-то мне кажется, что в этот раз с идеями внедерения новых правил разработчики перестарались...
Dave Hyatt, Dean Jackson и Chris Marrin (все трое работают в Apple) предложили внедрить в CSS 3 поддержку создания анимации, трансформацию объектов, их изменение с  течением времени и ввести css-переменные.

О причине реализации возможности создания анимации они пишут:

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


Эти значения будут описываться в селекторе keyframe:

 @keyframes `wobble` {
0 {
left: 100px;
}

40% {
left: 150px;
}

60% {
left: 75px;
}

100% {
left: 100px;
}
}


где "wobble" - название анимации, а соответствующие значения 0, 40%, 60% и 100% - определяют момент времени от общего временного интервала.

 

 

Css3 анимация


На рисунке выше приведен пример анимации элемента за 10 секунд.
Еще один вариант реализации - задание для каждого фрагмента определенной функции, управляющей отрисовкой:

 @keyframes `bounce` {
from {
top: 100px;
animation-timing-function: ease-out;
}

25% {
top: 50px;
animation-timing-function: ease-in;
}

50% {
top: 100px;
animation-timing-function: ease-out;
}

75% {
top: 75px;
animation-timing-function: ease-in;
}

to {
top: 100px;
}
}


В этом примере мы создаем анимацию с именем "bounce", имеющую 4 кадра, каждый из которых занимает 25% общего времени анимации. При этом, каждому фрагменту задана функция "ease-in" либо "easy-out". Первая отвечает за изменение отрисовки элемента внтури какой-либо области, а вторая за ее пределами. Все эти свойства управления созданием анимации исходят из идеи внедрения управления элементом во времени.

Подробней о новом свойстве создания анимации можно узнать здесь


Вторая идея, мне кажется, более обоснована - это управление положением элемента на плоскости. Вот пара примеров реализации:

div { transform: translate(100px, 100px); }


Такой код приведет к следующей трансформации элемента:


Или вот, более наглядное описание возможностей:

 div {
height: 100px; width: 100px;
transform: translate(80px, 80px) scale(1.5, 1.5) rotate(45deg);
}

 


Таким свойством я бы с удовольствием воспользовалась.

Подробно о свойствах трансформации можно прочесть здесь


И последняя фантазия разработчиков уж точно кажется немного безумной - введение css-переменных. Неужели CSS превратится в полноценный язык программирования и управления html элементами?

Примеры использования:

 @variables {
CorporateLogoBGColor: #fe8d12;
}

div.logoContainer {
background-color: var(CorporateLogoBGColor);
}

@variables {
myMargin1: 2em;
}

@variables print {
myMargin1: 2em;
}

.data, div.entry {
margin-left: 30px;
margin-left: var(myMargin1);
}


Смысл этого кода таков: селектор variables определяет имя и значение переменной, которое можно в дальнейшем приписать к любому элементу. Идея все же не проработана. Зачем определять для цвета переменную, если его можно просто указать?

Прочесть подробнее о css-переменных


От себя лишь хочу добавить, что, на мой взгляд, создание новых свойств CSS 3 должно быть основано, прежде всего, на запросах вебмастеров, а не только на идеях супер-специалистов из крупных компаний. Может создать кампанию: "Вебмастер, даешь идеи для СSS 3" ?








версия для печатиРаспечатать статью


Вернуться в раздел: Programming / Вебмастеру


Реклама:
Читать наc на:

Add to Google
Читать в Яндекс.Ленте






Rambler's Top100
© Copyright 1998-2012 Александр Томов. All rights reserved.