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 skaliert. Das Ergebnis ist ein <transform-function> Daten-Typ.
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 Skalierungstransformation ändert die z-Koordinate jedes Punkts des Elements um einen konstanten Faktor, es sei denn, der
Skalierungsfaktor ist 1, 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 axiale Symmetrie, wobei die z-Achse durch den Ursprung verläuft
(wie durch die Eigenschaft transform-origin angegeben).
In den obigen interaktiven Beispielen wurden perspective: 550px; (um
einen 3D-Raum zu schaffen) und transform-style: preserve-3d;
(so dass die Kinder, die 6 Seiten des Würfels, ebenfalls im 3D-Raum positioniert werden) auf dem Würfel gesetzt.
Hinweis:
scaleZ(sz) ist äquivalent zu
scale3d(1, 1, sz).
Syntax
scaleZ(s)
Werte
s-
Ist ein
<number>, der den Skalierungsfaktor darstellt, der auf die z-Koordinate jedes Punkts des Elements angewendet wird.
| 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. |
|
|
|
Formale Syntax
<scaleZ()> =
scaleZ( [ <number> | <percentage> ] )
Beispiele
>HTML
<div>Normal</div>
<div class="perspective">Translated</div>
<div class="scaled-translated">Scaled</div>
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
Loading…
Siehe auch
scaleX()scaleY()transform<transform-function>transform-origin- Individuelle Transformations-Eigenschaften: