1. Web
  2. CSS
  3. <transform-function>
  4. scaleZ()

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

scaleZ()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

Die scaleZ() CSS Funktion definiert eine Transformation, die ein Element entlang der z-Achse vergrößert oder verkleinert. Das Ergebnis ist ein <transform-function> Datentyp.

Probieren Sie es aus

transform: scaleZ(1);
transform: scaleZ(1.4);
transform: scaleZ(0.5);
transform: scaleZ(-1.4);
<section class="default-example" id="default-example">
 <div class="transition-all" id="example-element">
 <div class="face front">1</div>
 <div class="face back">2</div>
 <div class="face right">3</div>
 <div class="face left">4</div>
 <div class="face top">5</div>
 <div class="face bottom">6</div>
 </div>
</section>
#default-example {
 background: linear-gradient(skyblue, khaki);
 perspective: 800px;
 perspective-origin: 150% 150%;
}
#example-element {
 width: 100px;
 height: 100px;
 perspective: 550px;
 transform-style: preserve-3d;
}
.face {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 100%;
 height: 100%;
 position: absolute;
 backface-visibility: inherit;
 font-size: 60px;
 color: white;
}
.front {
 background: rgb(90 90 90 / 0.7);
 transform: translateZ(50px);
}
.back {
 background: rgb(0 210 0 / 0.7);
 transform: rotateY(180deg) translateZ(50px);
}
.right {
 background: rgb(210 0 0 / 0.7);
 transform: rotateY(90deg) translateZ(50px);
}
.left {
 background: rgb(0 0 210 / 0.7);
 transform: rotateY(-90deg) translateZ(50px);
}
.top {
 background: rgb(210 210 0 / 0.7);
 transform: rotateX(90deg) translateZ(50px);
}
.bottom {
 background: rgb(210 0 210 / 0.7);
 transform: rotateX(-90deg) translateZ(50px);
}

Diese Skalentransformation modifiziert die z-Koordinate jedes Elemente-Punktes um einen konstanten Faktor, außer wenn der Skalierungsfaktor 1 ist, in diesem Fall ist die Funktion die Identitätstransformation. Die Skalierung ist nicht isotrop, und die Winkel des Elements bleiben nicht erhalten. scaleZ(-1) definiert eine Achsensymmetrie, wobei die z-Achse durch den Ursprung läuft (wie durch die transform-origin Eigenschaft spezifiziert).

In den obigen interaktiven Beispielen sind perspective: 550px; (um einen 3D-Raum zu erstellen) und transform-style: preserve-3d; (damit die Kinder, die 6 Seiten des Würfels, auch im 3D-Raum positioniert sind) auf den Würfel angewendet worden.

Hinweis: scaleZ(sz) ist äquivalent zu scale3d(1, 1, sz).

Syntax

css
scaleZ(s)

Werte

s

Ist ein <number>, der den Skalierungsfaktor darstellt, der auf die z-Koordinate jedes Punktes des Elements angewendet wird.

Kartesische Koordinaten auf R^2 Homogene Koordinaten auf RP^2 Kartesische Koordinaten auf R^3 Homogene Koordinaten auf RP^3
Diese Transformation wird auf den 3D-Raum angewendet und kann nicht auf der Ebene dargestellt werden.
(10001000s)\left( \begin{array}{ccc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & s \end{array} \right)
(1000010000s00001)\left( \begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & s & 0 \\ 0 & 0 & 0 & 1 \end{array} \right)

Formale Syntax

<scaleZ()> = 
scaleZ( [ <number> | <percentage> ] )

Beispiele

HTML

html
<div>Normal</div>
<div class="perspective">Translated</div>
<div class="scaled-translated">Scaled</div>

CSS

css
div {
 width: 80px;
 height: 80px;
 background-color: skyblue;
}
.perspective {
 /* Includes a perspective to create a 3D space */
 transform: perspective(400px) translateZ(-100px);
 background-color: limegreen;
}
.scaled-translated {
 /* Includes a perspective to create a 3D space */
 transform: perspective(400px) scaleZ(2) translateZ(-100px);
 background-color: pink;
}

Ergebnis

Spezifikationen

Specification
CSS Transforms Module Level 2
# funcdef-scalez

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

AltStyle によって変換されたページ (->オリジナル) /