Właściwość CSSTransformacje

transform-origin

Ustawia punkt, wokół którego element się obraca i względem którego się skaluje.

Wartość domyślna
50% 50% 0
Dziedziczona
Nie
Animowalna
tak, jako długość lub procent
Dotyczy
elementy transformowalne
JavaScript
element.style.transformOrigin = "top left"
Na tej stronie

Przykład

#
CSS
.progress-bar {
  transform: scaleX(0.7);
  transform-origin: left;
}
Podgląd

Definicja i zastosowanie

#

Właściwość transform-origin wyznacza środek transformacji. Domyślnie to środek elementu, więc obrót kręci element wokół jego centrum, a skalowanie powiększa go równo we wszystkich kierunkach.

Przeniesienie punktu do rogu całkowicie zmienia efekt: obrót wokół lewego górnego rogu działa jak otwieranie drzwi na zawiasie, a skalowanie od dołu sprawia, że element rośnie w górę.

Przyjmuje słowa kluczowe (top, left, center…), procenty i długości. Trzecia wartość ustawia przesunięcie w osi Z dla transformacji 3D.

Składnia

#
Składnia
transform-origin: <x> <y>? <z>?;

Wartości

#
  • center

    Obrót wokół środka elementu.
  • top left

    Obrót wokół lewego górnego rogu.
  • bottom right

    Obrót wokół prawego dolnego rogu.
  • 50% 150%

    poza elementem

    Punkt obrotu pod elementem, jak wahadło.

Wartości w praktyce

#

center

Obrót wokół środka elementu.
.demo { transform-origin: center; }

top left

Obrót wokół lewego górnego rogu.
.demo { transform-origin: top left; }

bottom right

Obrót wokół prawego dolnego rogu.
.demo { transform-origin: bottom right; }

50% 150%

Punkt obrotu pod elementem, jak wahadło.
.demo { transform-origin: 50% 150%; }

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

#
  • Paski postępu animowane przez scaleX() potrzebują transform-origin: left, inaczej rosną od środka.
  • Menu rozwijane z przycisku wyglądają naturalniej, gdy skalują się od miejsca, z którego wychodzą, np. top right.

Powiązane hasła

#

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