transform-box CSS property
Baseline
Weitgehend verfügbar
*
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Die transform-box CSS-Eigenschaft definiert die Layout-Box, auf die sich die transform-Eigenschaft, die individuellen Transformations-Eigenschaften translate, scale, rotate und die transform-origin-Eigenschaften beziehen.
Syntax
/* Keyword values */
transform-box: content-box;
transform-box: border-box;
transform-box: fill-box;
transform-box: stroke-box;
transform-box: view-box;
/* Global values */
transform-box: inherit;
transform-box: initial;
transform-box: revert;
transform-box: revert-layer;
transform-box: unset;
Die transform-box-Eigenschaft wird als eines der unten aufgeführten Schlüsselwortwerte angegeben.
Werte
content-box-
Die Content-Box wird als Referenzbox verwendet. Die Referenzbox einer
<table>ist die Border-Box ihres Table-Wrapper-Box, nicht ihrer Table-Box. border-box-
Die Border-Box wird als Referenzbox verwendet. Die Referenzbox einer
<table>ist die Border-Box ihres Table-Wrapper-Box, nicht ihrer Table-Box. fill-box-
Die Objektumrandungs-Box wird als Referenzbox verwendet. Für Elemente mit zugeordnetem CSS-Layout-Box fungiert dies als
content-box. stroke-box-
Die Strichbegrenzungs-Box wird als Referenzbox verwendet. Für Elemente mit zugeordnetem CSS-Layout-Box fungiert dies als
border-box. view-box-
Der nächste SVG-Viewport wird als Referenzbox verwendet. Wenn ein
viewBox-Attribut für das SVG-Viewport-erzeugende Element angegeben ist, wird die Referenzbox am Ursprung des Koordinatensystems platziert, das durch dasviewBox-Attribut festgelegt wird, und die Dimension der Referenzbox wird auf die Breite und Höhe desviewBox-Attributs gesetzt. Für Elemente mit zugeordnetem CSS-Layout-Box fungiert dies alsborder-box.
Formale Definition
| Anfangswert | view-box |
|---|---|
| Anwendbar auf | transformierbare Elemente |
| Vererbt | Nein |
| Berechneter Wert | wie angegeben |
| Animationstyp | diskret |
Formale Syntax
transform-box =
content-box |
border-box |
fill-box |
stroke-box |
view-box
Beispiele
>SVG transform-origin Eingrenzung
In diesem Beispiel haben wir ein SVG:
<svg id="svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50">
<g>
<circle id="center" fill="red" r="1" transform="translate(25 25)" />
<circle id="boxcenter" fill="blue" r=".5" transform="translate(15 15)" />
<rect
id="box"
x="10"
y="10"
width="10"
height="10"
rx="1"
ry="1"
stroke="black"
fill="none" />
</g>
</svg>
In dem CSS haben wir eine Animation, die eine Transformation verwendet, um das Rechteck unendlich zu drehen. transform-box: fill-box wird verwendet, um das transform-origin das Zentrum der Begrenzungs-Box zu machen, damit sich das Rechteck an Ort und Stelle dreht. Ohne diese Einstellung ist das Transformationsursprung das Zentrum der SVG-Leinwand, was zu einem sehr unterschiedlichen Effekt führt.
svg {
width: 80vh;
border: 1px solid #d9d9d9;
position: absolute;
margin: auto;
inset: 0;
}
#box {
transform-origin: 50% 50%; /* anything other than `0 0` to see the effect */
transform-box: fill-box;
animation: rotate-box 3s linear infinite;
}
@keyframes rotate-box {
to {
transform: rotate(360deg);
}
}
Spezifikationen
| Spezifikation |
|---|
| CSS Transforms Module Level 1> # transform-box> |
Browser-Kompatibilität
Siehe auch
- Verwendung von CSS-Transformationen
transform,transform-origin- Individuelle Transformations-Eigenschaften: