scale3d()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.

Die scale3d() CSS Funktion definiert eine Transformation, die ein Element im 3D-Raum skaliert. Da die Skalierung durch einen Vektor [sx, sy, sz] definiert ist, können verschiedene Dimensionen mit unterschiedlichen Maßstäben skaliert werden. Das Ergebnis ist ein <transform-function> Datentyp.

Probieren Sie es aus

Diese Skalierungstransformation ist durch einen dreidimensionalen Vektor gekennzeichnet. Dessen Koordinaten definieren, wie viel Skalierung in jede Richtung erfolgt. Wenn alle drei Koordinaten gleich sind, ist die Skalierung einheitlich (isotrop) und das Seitenverhältnis des Elements bleibt erhalten (dies ist eine homothetische Transformation).

Wenn ein Koordinatenwert außerhalb des Bereichs [-1, 1] liegt, wächst das Element in dieser Dimension; wenn innerhalb, schrumpft es. Wenn er negativ ist, ergibt sich eine Punktspiegelung in dieser Dimension. Ein Wert von 1 hat keinen Effekt.

Syntax

Die scale3d()-Funktion wird mit drei Werten angegeben, die die anzuwendende Skalierung in jeder Richtung repräsentieren.

css
scale3d(sx, sy, sz)

Werte

sx

Ist ein <number>, der die Abszisse (horizontal, x-Komponente) des Skalierungsvektors darstellt.

sy

Ist ein <number>, der die Ordinate (vertikal, y-Komponente) des Skalierungsvektors darstellt.

sz

Ist ein <number>, der die z-Komponente des Skalierungsvektors darstellt.

Kartesische Koordinaten auf ℝ^2 Homogene Koordinaten auf ℝℙ^2 Kartesische Koordinaten auf ℝ^3 Homogene Koordinaten auf ℝℙ^3
Diese Transformation gilt für den 3D-Raum und kann nicht auf der Ebene dargestellt werden.
(sx000sy000sz)\left( \begin{array}{ccc} sx & 0 & 0 \\ 0 & sy & 0 \\ 0 & 0 & sz \end{array} \right)
(sx0000sy0000sz00001)\left( \begin{array}{cccc} sx & 0 & 0 & 0 \\ 0 & sy & 0 & 0 \\ 0 & 0 & sz & 0 \\ 0 & 0 & 0 & 1 \end{array} \right)

Formale Syntax

<scale3d()> = 
scale3d( [ <number> | <percentage> ]#{3} )

Beispiele

Ohne Änderung des Ursprungs

HTML

html
<div>Normal</div>
<div class="scaled">Scaled</div>

CSS

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

.scaled {
  transform: perspective(500px) scale3d(2, 0.7, 0.2) translateZ(100px);
  background-color: pink;
}

Ergebnis

Übersetzung des Ursprungs der Transformation

HTML

html
<div>Normal</div>
<div class="scaled">Scaled</div>

CSS

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

.scaled {
  transform: perspective(500px) scale3d(2, 0.7, 0.2) translateZ(100px);
  transform-origin: left;
  background-color: pink;
}

Ergebnis

Spezifikationen

Specification
CSS Transforms Module Level 2
# funcdef-scale3d

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
scale3d()

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Siehe auch