CSS3 2D трансформации

Модуль Transformation является огромным дополнением в CSS3, он выводит способ, которым мы манипулируем элементами на веб-сайте, на следующий уровень.

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

Вместо этого на этот раз мы сделаем шаг назад и рассмотрим основы 2D-трансформации CSS3, чтобы увидеть, как это работает на фундаментальном уровне.
Синтаксис
CSS3 трансформации Модуль в основном позволяет нам преобразовывать элемент в определенной степени, такой как перемещение, масштабирование, поворот и наклон.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Официальный синтаксис: transform: метод (значение). Однако, как и любые другие замечательные дополнения CSS3, которые все еще находятся на ранних стадиях, текущим браузерам по-прежнему нужна синтаксическая версия для запуска преобразований. Итак, полный синтаксис получился бы так:

преобразование: метод (значение); / * Официальный синтаксис W3C * /
-опреобразование: метод (значение); / * Opera 10.5+ * /
-ms-transform: метод (значение); / * Internet Explorer 9.0+ * /
-moz-transform: метод (значение); / * Firefox 3.6+ * /
-webkit-transform: метод (значение); / * Chrome / Safari 3.2+ * /

Кроме того, метод, на который мы ссылаемся выше, это transform-функции, которые можно заменить одним из следующих: translate (), scale (), rotate () или skew ().
Значение
Большая часть значения метода будет соответствовать оси X и оси Y. Если вы помните Декартова система координат из вашего урока математики в средней школе базовый принцип очень похож, ось X представляет горизонтальную линию, а ось Y представляет вертикальную линию.
cartesian За исключением поворотов. Вращение будет использовать полярные координаты, выраженные в градусах от 0 до 360.
polar Значения для всех методов могут быть как отрицательными, так и положительными. Просто сделайте заметку, поскольку веб-страница читается последовательно сверху вниз, что делает ось Y в сети противоположной первоначальному принципу декартовых координат. Это означает, что когда вы добавляете отрицательное значение к оси Y, оно будет перемещаться вверх.
Используя Преобразования
Теперь давайте посмотрим на следующую базовую демонстрацию, чтобы увидеть трансформацию в действии.
Я перевожу
Не зацикливайтесь на термине переводить, он не переводит иностранный язык. Перевод здесь – фактически метод для перемещения элементов в некотором направлении.

Метод содержит два значения; X и Y. Значение X, как мы указали выше, будет брать элемент горизонтально; влево или вправо, а значение Y переводит его вертикально вниз или вверх.
веб-координатыТеперь давайте посмотрим несколько простых демонстраций ниже:

div {
ширина: 100 пикселей;
высота: 100 пикселей;
transform: translate (100px, 250px);
}

Фрагмент выше переместит элемент на 100 пикселей вправо и 250 пикселей вниз.

div {
ширина: 100 пикселей;
высота: 100 пикселей;
transform: translate (100px, 0);
}

Приведенный выше фрагмент переместит элемент вправо на 100 пикселей, потому что мы обнуляем ось Y. Затем, если мы хотим переместить элемент влево, нам нужно только установить отрицательную ось X следующим образом:

div {
ширина: 100 пикселей;
высота: 100 пикселей;
transform: translate (-100px, 0);
}

Кроме того, мы можем перемещать элемент в одном направлении с помощью этих отдельных методов; translateX () и translateY (), разница в том, что каждый из этих методов принимает только одно значение.

Таким образом, практически говоря, transform: translate (-100px, 0) также равен transform: translateX (-100px).
II – Шкала
Метод масштабирования позволяет нам увеличивать или уменьшать элементы от его фактического размера. Значение шкалы такое же, как у метода перевода выше, оно также содержит X и Y. Единственная разница в том, что мы не указываем единицу измерения. Вот пример:

div {
ширина: 100 пикселей;
высота: 100 пикселей;
преобразование: масштаб (1,5);
}

Приведенный выше пример увеличит div на 1,5 или 150% от его фактического размера, и, поскольку мы масштабируем его одинаково для обоих направлений X и Y, нам нужно объявить его только в одном значении. Вы также можете объявить это следующим образом: transform: scale (1.5,1.5); если вы хотите пойти более подробно, он будет делать то же самое.
scale Кроме того, если мы хотим уменьшить элемент, мы бы специально использовали значение от 0,999 до абсолютного 0, как в примере ниже, что уменьшит размер div на 50% или на половину:

div {
ширина: 100 пикселей;
высота: 100 пикселей;
преобразование: масштаб (0,5);
}

Но будьте осторожны, если вы установите абсолютное значение «0», div просто исчезнет, ​​поэтому, если у вас нет веской причины для этого, я бы не рекомендовал делать это.
III – Повернуть
Как мы упоминали ранее в этом посте, метод rotate использует полярные координаты, поэтому значение указывается в градусах. Вот два примера

Фрагмент ниже повернет div на 30 градусов по часовой стрелке.

div {
ширина: 100 пикселей;
высота: 100 пикселей;
преобразование: вращение (30 градусов);
}

rotate Отрицательное значение, как показано в примере ниже, будет вращать div в противоположном направлении (против часовой стрелки) в той же степени.

div {
ширина: 100 пикселей;
высота: 100 пикселей;
преобразование: вращение (-30 градусов);
}

IV – перекос
Скос метод позволяет нам создать своего рода параллелограмм. Он также содержит два значения оси X и Y. Однако само значение указывается в градусах, а не в линейных измерениях, которые мы используем для шкалы или метода перевода. Вот пример:

div {
ширина: 200 пикселей;
высота: 100 пикселей;
преобразование: перекос (30 градусов, 10 градусов);
}

V – множественный метод
Свойство transform не ограничивается обработкой только одного метода, фактически мы можем включить несколько методов в одно объявление, например так:

div {
ширина: 100 пикселей;
высота: 100 пикселей;
transform: translateX (100px) rotate (45 градусов);
}

Вышеуказанный фрагмент переместит элемент на 100px вправо и в то же время повернет на 45 градусов.

Демо “Multiple Method”,
Трансформировать Происхождение
Transfrom-origin, как следует из его названия, используется для контроля начальной точки преобразования. Если мы явно не объявим это свойство со следующим синтаксисом transform-origin: X Y;, тогда браузер примет значение по умолчанию, которое составляет 50% для X и 50% для Y.
origin Теперь, если мы укажем источник преобразования в 0 (X) 0 (Y), преобразование начнется в верхнем левом углу.

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

-webkit-transform-origin: X Y;
-moz-transform-origin: X Y;
-o-transform-origin: X Y;
-ms-transform-origin: X Y;
источник преобразования: X Y;

Вывод
Мы прошли через все четыре основных метода преобразования; переводить, масштабировать, вращать и наклонять

Однако, как уже упоминалось, этот модуль все еще находится на ранней стадии, поэтому, если вы будете применять эти методы на своем следующем веб-сайте, убедитесь, что он изящно ухудшается для несовместимые браузеры (Я не имею в виду IE6 здесь).

Наконец, вы можете просмотреть все демо или скачать исходный код по следующим ссылкам.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *