← 返回首页
Fonction CSS matrix() - CSS | MDN

Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Fonction CSS matrix()

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La fonction CSS matrix() définit une matrice de transformation homogène en 2D. Son résultat est un type de donnée <transform-function>.

Note : La fonction matrix(a, b, c, d, tx, ty) est une forme abrégée de matrix3d(a, b, 0, 0, c, d, 0, 0, 0, 0, 1, 0, tx, ty, 0, 1).

Dans cet article

Exemple interactif

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>

Syntaxe

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

Valeurs

La fonction matrix() est définie avec six valeurs. Les valeurs constantes sont implicites et ne sont pas transmises en tant que paramètresénbsp;; les autres paramètres sont décrits dans l'ordre des colonnes.

a b c d

Sont des nombres (<number>) décrivant la transformation linéaire.

tx ty

Sont des nombres (<number>) décrivant la translation à appliquer.

Cartesian coordinates on ℝ^2Homogeneous coordinates on ℝℙ^2 Cartesian coordinates on ℝ^3 Homogeneous coordinates on ℝℙ^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]

Les valeurs représentent les fonctions suivantes : matrix(scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY()).

Syntaxe formelle

<matrix()> =
matrix( <number>#{6} )
Cette syntaxe reflète le dernier standard selon CSS Transforms Module Level 1. Tous les navigateurs n'ont peut-être pas implémenté toutes les parties. Voir la Compatibilité des navigateurs pour plus d'informations sur la prise en charge.

Exemples

HTML

html
<div>Normal</div> <div class="changed">Modifié</div>

CSS

css
div { width: 80px; height: 80px; background-color: skyblue; } .changed { transform: matrix(1, 2, -1, 1, 80, 80); background-color: pink; }

Résultat

Spécifications

Spécification
CSS Transforms Module Level 1
# funcdef-transform-matrix

Compatibilité des navigateurs

Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.

Voir aussi