Домашняя » кодирование » Взгляд в CSS3 2D трансформации

    Взгляд в CSS3 2D трансформации

    Эта статья является частью нашей «Серия руководств по HTML5 / CSS3» - призван помочь вам стать лучшим дизайнером и / или разработчиком. кликните сюда чтобы увидеть больше статей из этой серии.

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

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

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

    Синтаксис

    Модуль CSS3 Transformations в основном позволяет нам до некоторой степени преобразовывать элементы, такие как перевод, масштабирование, вращение и наклон.

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

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

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

    Значение

    Большая часть значения метода будет соответствовать Ось абсцисс а также Ось ординат. Если вы помните декартову систему координат из вашего урока математики в средней школе, базовый принцип очень похож, ось X представляет горизонтальный линия и ось Y представляет вертикальный линия.

    За исключением поворотов. вращение будет использовать полярные координаты который выражается в градусах в диапазоне от 0 до 360.

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

    Используя Преобразования

    Теперь давайте посмотрим следующую базовую демонстрацию, чтобы увидеть Преобразование в действии.

    Я перевожу

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

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

    Теперь давайте посмотрим несколько простых демонстраций ниже:

     div width: 100px; высота: 100 пикселей; transform: translate (100px, 250px);  

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

     div width: 100px; высота: 100 пикселей; transform: translate (100px, 0);  

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

     div width: 100px; высота: 100 пикселей; transform: translate (-100px, 0);  
    • "Перевести" демо

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

    Таким образом, практически transform: translate (-100px, 0) также равно transform: translateX (-100px).

    II - Шкала

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

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

    Приведенный выше пример увеличит ДИВ 1,5 или 150% его фактического размера, и поскольку мы масштабируем его одинаково для обоих направлений X и Y, нам нужно только объявить его в одном значении. Вы также можете заявить об этом таким образом преобразование: масштаб (1,5,1,5); если вы хотите пойти более подробно, он будет делать то же самое.

    Кроме того, если мы хотим уменьшить элемент, мы бы специально использовали значение от 0,999 до абсолютного 0, как в примере ниже, что уменьшит размер div на 50% или на половину:

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

    Но будьте осторожны, если вы установите абсолютное значение “0” ДИВ просто исчезнет, ​​поэтому, если у вас нет веской причины для этого, я бы не рекомендовал делать это.

    • "Масштаб" демо

    III - Повернуть

    Как мы упоминали ранее в этом посте, вращаться Метод использует полярные координаты, поэтому значение указывается в градусах. Вот два примера

    Фрагмент ниже будет вращать ДИВ 30 градусов по часовой стрелке.

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

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

     div width: 100px; высота: 100 пикселей; преобразовать: повернуть (-30 градусов);  
    • "Повернуть" демо

    IV - перекос

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

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

    V - множественный метод

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

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

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

    "Multiple Method" демо.

    Трансформировать Происхождение

    transfrom-происхождения - как следует из его названия - используется для контроля начальной точки преобразования. Если мы не объявим явно это свойство со следующим синтаксисом источник преобразования: X Y;, тогда браузер примет значение по умолчанию, которое составляет 50% для X и 50% для Y.

    Теперь, если мы укажем преобразовании координат в 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 здесь).

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

    • демонстрация
    • Скачать исходный код