Właściwość CSSTransformacje

transform-style

Decyduje, czy dzieci elementu żyją we wspólnej przestrzeni 3D, czy są spłaszczane.

Wartość domyślna
flat
Dziedziczona
Nie
Animowalna
nie
Dotyczy
elementy transformowalne
JavaScript
element.style.transformStyle = "preserve-3d"
Na tej stronie

Przykład

#
CSS
.cube {
  transform-style: preserve-3d;
  animation: spin 6s linear infinite;
}

@keyframes spin {
  to { transform: rotateX(360deg) rotateY(360deg); }
}
Podgląd

Definicja i zastosowanie

#

Właściwość transform-style ustawia się na rodzicu elementów przekształcanych w 3D. Domyślnie (flat) dzieci są spłaszczane do płaszczyzny rodzica, więc zagnieżdżone obroty 3D nie tworzą prawdziwej bryły.

Wartość preserve-3d zachowuje trzeci wymiar: dzieci mogą znajdować się przed i za sobą, a obracanie rodzica obraca całą scenę. Dzięki temu da się zbudować sześcian z sześciu ścianek albo odwracaną kartę.

Niektóre właściwości, takie jak overflow: hidden czy filter, wymuszają spłaszczenie i wyłączają efekt preserve-3d.

Składnia

#
Składnia
transform-style: flat | preserve-3d;

Wartości

#
  • flat

    Wewnętrzny kafelek jest spłaszczony do płaszczyzny rodzica.
  • preserve-3d

    Wewnętrzny kafelek unosi się nad rodzicem w przestrzeni 3D.

Wartości w praktyce

#

flat

Wewnętrzny kafelek jest spłaszczony do płaszczyzny rodzica.
.demo { transform-style: flat; }

preserve-3d

Wewnętrzny kafelek unosi się nad rodzicem w przestrzeni 3D.
.demo { transform-style: preserve-3d; }

Obsługa przeglądarek

#

Szeroko dostępne

Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.

  • Chrome
  • Edge
  • Firefox
  • Safari

Dobre praktyki

#
  • Jeśli bryła 3D „spłaszcza się”, poszukaj na rodzicu overflow: hidden, filter albo opacity mniejszego niż 1.
  • Szanuj ustawienie ograniczonego ruchu: w prefers-reduced-motion: reduce zatrzymaj obracające się sceny.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.