Анимация CSS3. Создание баннеров
Авторы учебного курса:
Арефьева Анастасия Александровна,
студентка гр. ЗКТ-402С РГППУ, выпуск 2019 г.
Власова Наталья Сергеевна,
доцент кафедры информационных систем и технологий РГППУ
Урок 6. Создание баннера службы доставки
Цель: Создать анимированный баннер 600 на 250 пикселей, применив свойство 3D трансформации.
Задачи:
- разработать статический баннер 600 на 250 пикселей;
- изучить свойства 3D трансформации;
- применить свойство perspective.
Изображения для выполнения данного урока размещены в папке image.
Результат работы вы можете увидеть ниже.
Задание № 1.
Создайте html-файл и добавьте в него разметку, как на рисунке 1.
Рисунок 1
Далее мы будем работать только с файлом стилей.
Также как и 2-х мерное преобразование, 3-х мерное преобразование предоставляет свойства CSS transform и transform-origin, которые применяют геометрические преобразования к элементам HTML5 в CSS3.
Функции преобразования rotate(), scale(), translate(), skew() и matrix() охватывают трехмерное пространство с параметром z координаты как в matrix3d(), и дополнительных функций, например, rotateZ() и scaleZ().
3D преобразование так же добавляет несколько новых свойств в CSS3. В дополнение к свойствам transform и transform-origin браузер с поддержкой HTML5 и префиксами понимает свойства perspective, perspective-origin, backface-visibility и flat для значения transform-style.
Функция perspective.
Функция преобразования perspective (перспектива) имеет важное значение для 3D преобразования. Без преобразования perspective нет восприятия глубины. Можно применить преобразование с перспективой к нескольким элементам, используя свойство perspective к родительским элементам. Свойство perspective применит преобразование с перспективой к каждому дочернему элементу.
Задание № 2.
Укажите первому блоку контейнеру точку перспективы. В данной лабораторной работе указано значение 100000px. Данное свойство задает нам глубину элемента, увеличивая элемент по оси Z. Ко всем дочерним элементам будет применяться это свойство.
Рисунок 2
Задание № 3.
Задайте нашему следующему блоку свойство - transform-style: preserve-3d для того, чтобы наши элементы распологались в 3D пространстве.
Задайте трансформацию при наведении на данный блок. Для этого укажите свойства трансформации translateZ(-90px) и поворот вокруг оси X на 90 градусов rotateX(90deg).
Рисунок 3
Задание № 4.
Укажите для верхней и нижней части баннера начальную трансформацию, что бы первый блок изначально стоял перед нами, а другой был спрятан внизу.
Для верхнего элемента укажите значение transform: translateZ(90px), а для нижнего элемента так же добавьте поворот на минус 90 градусов по оси X, transform: rotateX(-90deg) translateZ(135px);
Все остальные свойства элемента вы сможете написать самостоятельно, трансформаций в данном баннере больше нет.
Итоговый листинг со всеми значениями вы можете увидеть ниже.
Рисунок 4
Контрольное задание
Создать баннер своей фирмы, применив свойство 3D трансформации.
Также Вы можете использовать для выбора контрольного задания следующие варианты.
Вариант №1. Создать баннер на свободную тематику размером 240 на 60 пикселей.
Вариант №2. Создать баннер на свободную тематику размером 336 на 280 пикселей.
Вариант №3. Создать баннер на свободную тематику размером 240 на 400 пикселей.
Вариант №4. Реализовать баннер из 3 лабораторной, применив к нему свойства 3d трансформации.
Вариант №5. Создать баннер для интернет магазина бытовой техники.
Вариант №6. Создать баннер для фирмы, которая занимается разработкой баннеров.
Вариант №7. Создать баннер для онлайн игры.
Вариант №8. Создать баннер для дня открытых дверей.
Вариант №9. Создать баннер фирмы, которая занимается ремонтом телефонов.
Вариант №10. Создать баннер для магазина ювелирных изделий.