ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ
×

CSS учебник

CSS HOME CSS Introduction CSS Syntax CSS How To CSS Colors CSS Backgrounds CSS Borders CSS Margins CSS Padding CSS Height/Width CSS Box Model CSS Outline CSS Text CSS Fonts CSS Icons CSS Links CSS Lists CSS Tables CSS Display CSS Max-width CSS Position CSS Overflow CSS Float CSS Inline-block CSS Align CSS Combinators CSS Pseudo-class CSS Pseudo-element CSS Opacity CSS Navigation Bar CSS Dropdowns CSS Image Gallery CSS Image Sprites CSS Attr Selectors CSS Forms CSS Counters CSS Website Layout CSS Units CSS Specificity

CSS Advanced

CSS Rounded Corners CSS Border Images CSS Backgrounds CSS Colors CSS Gradients CSS Shadows CSS Text Effects CSS Web Fonts CSS 2D Transforms CSS 3D Transforms CSS Transitions CSS Animations CSS Tooltips CSS Style Images CSS object-fit CSS Buttons CSS Pagination CSS Multiple Columns CSS User Interface CSS Variables CSS Box Sizing CSS Flexbox CSS Media Queries CSS MQ Examples

CSS Responsive

RWD Intro RWD Viewport RWD Grid View RWD Media Queries RWD Images RWD Videos RWD Frameworks

CSS Grid

Grid Intro Grid Container Grid Item

CSS Examples

CSS Templates

CSS References

CSS Reference CSS Selectors CSS Functions CSS Reference Aural CSS Web Safe Fonts CSS Animatable CSS Units CSS PX-EM Converter CSS Colors CSS Color Values CSS Default Values CSS Browser Support


CSS 2D Transforms


Преобразования CSS

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

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

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

Наведите курсор мыши на элементы ниже, чтобы увидеть разницу между 2D и 3D преобразования:

2D Повернуть
3D Повернуть

Поддержка браузеров для 2D преобразований

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

Номера следуют-MS-,-WebKit-,-МОЗ-, или-o-указать первую версию, которая работала с префиксом.

Свойство
transform 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-
transform-origin
(two-value syntax)
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-

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

В этой главе вы узнаете о следующих методах 2D преобразования:

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

Совет: В следующей главе вы узнаете о трехмерных преобразованиях.



Метод Translate ()

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

Метод 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() наклоняет элемент вдоль оси X заданным углом.

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

Пример

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

Метод наклона ()

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

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

Пример

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

Метод наклона ()

Метод 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 ()

Rotate

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

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

Параметры следующие: Матрица (scaleX (), перекос (), скевкс (), масштабирование (), транслатекс (), транспоздний ())

Пример

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);
}

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

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

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

2D Transform Methods

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