Transform CSS: Translate, Rotate, Scale — CSS

Transform adalah properti CSS untuk menggeser, memutar, membesarkan, dan memiringkan elemen tanpa mengganggu layout sekitarnya. Coba di playground.

transform mengubah tampilan sebuah elemen: menggeser (translate), memperbesar atau memperkecil (scale), memutar (rotate), dan memiringkan (skew). Yang berubah cuma gambarnya. Tempat aslinya di halaman tetap dipesan, jadi elemen di sekitarnya gak ikut bergeser.

🧪 Tebakan cepat: translate(100px, 0) scale(2) dan scale(2) translate(100px, 0). Geserannya sama jauh gak? Tebak dulu, jawabannya ada di bagian "Gabung beberapa fungsi, urutannya penting".

Menggeser tanpa mendorong tetangga

.box {
  transform: translateX(100px);
}

Hasilnya, kotaknya pindah 100px ke kanan dan bisa menimpa elemen di sebelahnya. Tempat aslinya tetap kosong dan dipesan, jadi tetangganya diam di tempat. Beda dengan margin-left: 100px, yang ikut mendorong tetangganya.

Empat fungsi transform

Gabung beberapa fungsi, urutannya penting

.box {
  transform: translate(100px, 150px) scale(1.5);
}

Jawaban tebakan: gak sama. scale(2) yang ditulis duluan bikin geseran 100px jadi 200px.

⚠️ Jebakan yang sering ketemu

💡 Transform cocok buat animasi. Browser gak perlu menghitung ulang layout waktu transform berubah, jadi gerakannya mulus. Buat hover atau animasi, geser pakai transform, bukan margin atau left.

🔬 Coba sendiri

Geser, putar, perbesar dan miringkan kotak di bawah, lalu lihat kode transform-nya berubah.

TL;DR: transform menggeser (translate), mengubah ukuran (scale), memutar (rotate) dan memiringkan (skew) tanpa mendorong elemen lain. Beberapa fungsi ditulis di satu transform, dipisah spasi, karena transform kedua menimpa yang pertama. Urutannya berpengaruh: tulis translate() dulu, baru scale(), biar geserannya gak ikut diperbesar.

Yang akan kamu pelajari