Spec-Zone.ru › CSS

Функция CSS `matrix()`

Базовая поддержка Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с сентября 2015 года.

matrix() CSS-функция определяет однородную матрицу двумерного преобразования. Результатом является тип данных <transform-function>.

Примечание: Функция matrix(a, b, c, d, tx, ty) является сокращённой записью для matrix3d(a, b, 0, 0, c, d, 0, 0, 0, 0, 1, 0, tx, ty, 0, 1).

Попробуйте

transform: matrix(1.2, 0.2, -1, 0.9, 0, 20);
transform: matrix(0.4, 0, 0.5, 1.2, 60, 10);
transform: matrix(0, 1, 1, 0, 0, 0);
transform: matrix(0.1, 1, -0.3, 1, 0, 0);
<section id="default-example">
  <img
    class="transition-all"
    id="example-element"
    src="/shared-assets/images/examples/firefox-logo.svg"
    width="200" />
</section>

Синтаксис

matrix(a, b, c, d, tx, ty)

Значения

Функция matrix() задаётся шестью значениями. Постоянные значения подразумеваются и не передаются в качестве параметров; остальные параметры описаны в порядке следования столбцов.

a b c d
Это <number>, описывающие линейное преобразование.
tx ty
Это <number>, описывающие применяемое смещение.
Декартовы координаты на ℝ^2 Однородные координаты на ℝℙ^2 Декартовы координаты на ℝ^3 Однородные координаты на ℝℙ^3
(acbd)\begin{pmatrix} a & c \\ b & d \end{pmatrix} (actxbdty001)\left( \begin{array}{ccc} a & c & tx \\ b & d & ty \\ 0 & 0 & 1 \\ \end{array} \right) (actxbdty001)\left( \begin{array}{ccc} a & c & tx \\ b & d & ty \\ 0 & 0 & 1 \\ \end{array} \right) (ac0txbd0ty00100001)\left( \begin{array}{cccc} a & c & 0 & tx \\ b & d & 0 & ty \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ \end{array} \right)
[a b c d tx ty]

Значения представляют следующие функции: matrix(scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY()).

Формальный синтаксис

<matrix()> = 
  matrix( <number>#{6} )

Примеры

HTML

<div>Normal</div>
<div class="changed">Changed</div>

CSS

div {
  width: 80px;
  height: 80px;
  background-color: skyblue;
}

.changed {
  transform: matrix(1, 2, -1, 1, 80, 80);
  background-color: pink;
}

Результат

Спецификации

Спецификация
Модуль преобразований CSS уровня 1
# funcdef-transform-matrix

Совместимость с браузерами

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari на iOS Samsung Internet WebView для Android WebView на iOS
matrix
1
12
3.5До Firefox 16 значениями смещения в matrix() могли быть <length>, помимо стандартных <number>.
10.5
3.1
18
4
11
3.2
1.0
2
3.2

См. также

  • transform
  • Отдельные свойства преобразования:
    • translate
    • scale
    • rotate
  • <transform-function>
  • matrix3d()

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/transform-function/matrix

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API