freeCodeCamp/guide/russian/css/css3-2d-transforms/index.md

8.9 KiB
Raw Blame History

title localeTitle
CSS3 2d Transforms CSS3 2d Transforms

CSS3 2d Transforms

Преобразования CSS3 позволяют вам переводить, поворачивать, масштабировать и перекосить элементы.

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

CSS3 поддерживает преобразования 2D и 3D.

Поддержка браузера для 2D-трансформ

Номера в таблице указывают первую версию браузера, которая полностью поддерживает недвижимость.

Номера, за которыми следуют -ms-, -webkit-, -moz- или -о, указывают первую версию, которая работал с префиксом.

| Недвижимость | Хром | IE | Firefox | Сафари | Опера | | --------------------------------------- | ---------------------- | ------------------ | ------------------- | -------------------- | -------------------------------------------- | | трансформировать | 36,0 4,0 -webkit- | 10,0 9,0 -ms- | 16,0 3,5 -moz- | 9.0 3.2 -webkit- | 23,0 15,0 -webkit- 12,1 10,5 -o | | преобразовании координат (двухзначный синтаксис) | 36,0 4,0 -webkit- | 10,0 9,0 -ms- | 16,0 3,5 -moz- | 9,0 3,2 -webkit- | 23,0 15,0 -webkit- 12,1 10,5 -o |

CSS3 2D-преобразования

Методы:

  • translate()
  • rotate()
  • scale()
  • skewX()
  • skewY()
  • matrix()

Метод translate ()

Метод translate() перемещает элемент из текущего положения (согласно к параметрам, заданным для оси X и оси Y).

Следующий пример перемещает элемент <div> 50 пикселей вправо, а 100 пикселей вниз от текущей позиции:

Пример:

div { 
  -ms-transform: translate(50px, 100px); /* IE 9 */ 
  -webkit-transform: translate(50px, 100px); /* Safari */ 
  transform: translate(50px, 100px); 
 } 

Метод rotate ()

Метод rotate() вращает элемент по часовой стрелке или против часовой стрелки в соответствии с данной степенью.

Следующий пример поворачивает элемент <div> часовой стрелке с 20 градусами:

Пример:

div { 
  -ms-transform: rotate(20deg); /* IE 9 */ 
  -webkit-transform: rotate(20deg); /* Safari */ 
  transform: rotate(20deg); 
 } 

Использование отрицательных значений приведет к вращению элемента против часовой стрелки.

Следующий пример поворачивает элемент <div> против часовой стрелки с помощью 20 градусы:

Пример:

div { 
  -ms-transform: rotate(-20deg); /* IE 9 */ 
  -webkit-transform: rotate(-20deg); /* Safari */ 
  transform: rotate(-20deg); 
 } 

Метод scale ()

Метод scale() увеличивает или уменьшает размер элемента (согласно параметры, заданные для ширины и высоты).

Следующий пример увеличивает элемент <div> на два раза оригинальной ширины и в три раза от ее первоначальной высоты:

Пример:

div { 
  -ms-transform: scale(2, 3); /* IE 9 */ 
  -webkit-transform: scale(2, 3); /* Safari */ 
  transform: scale(2, 3); 
 } 

В следующем примере элемент <div> уменьшает половину его оригинала ширина и высота:

Пример:

div { 
  -ms-transform: scale(0.5, 0.5); /* IE 9 */ 
  -webkit-transform: scale(0.5, 0.5); /* Safari */ 
  transform: scale(0.5, 0.5); 
 } 

Метод skewX ()

Метод skewX() элемент вдоль оси X на заданный угол.

Следующий пример пересекает элемент <div> 20 градусов по оси X:

Пример:

div { 
  -ms-transform: skewX(20deg); /* IE 9 */ 
  -webkit-transform: skewX(20deg); /* Safari */ 
  transform: skewX(20deg); 
 } 

Метод skewY ()

Метод skewY() искажает элемент вдоль оси Y на заданный угол.

Следующий пример пересекает элемент <div> 20 градусов по оси Y:

Пример:

div { 
  -ms-transform: skewY(20deg); /* IE 9 */ 
  -webkit-transform: skewY(20deg); /* Safari */ 
  transform: skewY(20deg); 
 } 

Метод skew ()

Метод skew() искажает элемент вдоль оси X и Y по заданным углам.

Следующий пример пересекает элемент <div> 20 градусов по оси X и 10 градусов по оси Y:

Пример:

div { 
  -ms-transform: skew(20deg, 10deg); /* IE 9 */ 
  -webkit-transform: skew(20deg, 10deg); /* Safari */ 
  transform: skew(20deg, 10deg); 
 } 

Если второй параметр не указан, он имеет нулевое значение. Итак, следующее пример перечеркивает элемент <div> 20 градусов по оси X:

Пример:

div { 
  -ms-transform: skew(20deg); /* IE 9 */ 
  -webkit-transform: skew(20deg); /* Safari */ 
  transform: skew(20deg); 
 } 

Метод matrix ()

Метод matrix() объединяет все методы двумерного преобразования в один.

Метод matrix () принимает шесть параметров, содержащих математические функции, которые позволяет вращать, масштабировать, перемещать (переводить) и искажать элементы.

Параметры следующие: Матрица (Scalex (), skewY (), skewX (), ScaleY (), translateX (), translateY ())

Пример:

div { 
  -ms-transform: matrix(1, -0.3, 0, 1, 0, 0); /* IE 9 */ 
  -webkit-transform: matrix(1, -0.3, 0, 1, 0, 0); /* Safari */ 
  transform: matrix(1, -0.3, 0, 1, 0, 0); 
 } 

Свойства преобразования CSS3

В следующей таблице перечислены все свойства 2D-преобразования:

| Недвижимость | Описание | | ---------------- | -------------------------------------------------- ------- | | трансформировать | Применяет преобразование 2D или 3D к элементу | | transform-origin | Позволяет изменить положение на преобразованных элементах |

Методы 2D-преобразования

| Функция | Описание | | --------------------- | -------------------------------------------------- ----------------------- | | матрица (n, n, n, n, n, n) | Определяет 2D-преобразование, используя матрицу из шести значений | | переводить (x, y) | Определяет 2D-перевод, перемещая элемент вдоль оси X и Y. | translateX (n) | Определяет 2D-перевод, перемещая элемент вдоль оси X | | translateY (n) | Определяет 2D-перевод, перемещая элемент вдоль оси Y | | масштаб (x, y) | Определяет преобразование 2D-масштаба, изменяя ширину и высоту элементов | | scaleX (n) | Определяет преобразование 2D-масштаба, изменяя ширину элемента | | scaleY (n) | Определяет 2D-масштабное преобразование, изменяя высоту элемента | | вращение (угол) | Определяет двумерное вращение, угол указан в параметре | | косо (х-угол, у-угол) | Определяет двумерное косое преобразование вдоль оси X и Y. | skewX (угол) | Определяет двумерное косое преобразование вдоль оси X | | skewY (угол) | Определяет двумерное косое преобразование вдоль оси Y |

Дополнительная информация: