纳米比亚总统根哥布将于3月28日至4月3日访华
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die scale3d()
-CSS-Funktion definiert eine Transformation, die ein Element im 3D-Raum vergr??ert oder verkleinert. Da die Vergr??erung durch einen Vektor [sx, sy, sz] definiert ist, kann sie verschiedene Dimensionen in unterschiedlichen Ma?st?ben skalieren. Ihr Ergebnis ist ein <transform-function>
Datentyp.
Probieren Sie es aus
transform: scale3d(1, 1, 1);
transform: scale3d(1.3, 1.3, 1.3);
transform: scale3d(0.5, 1, 1.7);
transform: scale3d(-1.4, 0.4, 0.7);
<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 ist durch einen dreidimensionalen Vektor charakterisiert. Ihre Koordinaten definieren, wie viel in jeder Richtung skaliert wird. Wenn alle drei Koordinaten gleich sind, ist die Skalierung gleichm??ig (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 er innerhalb liegt, schrumpft es. Ist der Wert negativ, resultiert dies in einer Punktspiegelung in dieser Dimension. Ein Wert von 1 hat keine Wirkung.
Syntax
scale3d(sx, sy, sz)
Werte
sx
-
Ist eine
<number>
, die die Abszisse (horizontale, x-Komponente) des Skalierungsvektors darstellt. sy
-
Ist eine
<number>
, die die Ordinate (vertikale, y-Komponente) des Skalierungsvektors darstellt. sz
-
Ist eine
<number>
, die 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. |
|
|
Formale Syntax
Beispiele
Ohne ?nderung des Ursprungs
HTML
<div>Normal</div>
<div class="scaled">Scaled</div>
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
<div>Normal</div>
<div class="scaled">Scaled</div>
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
Siehe auch
transform
<transform-function>
scaleZ()
translate3d()
rotate3d()
- Einzelne Transformations-Eigenschaften: