📛 CSS Transforms

Panduan lengkap CSS Transforms untuk manipulasi elemen 2D/3D

📌 Elements

💡 Transform Fundamentals

CSS Transforms memungkinkan Anda memodifikasi space koordinat dari model visual CSS, memungkinkan rotasi, skewing, scaling, dan translasi elemen.

transforms.css
/* Basic 2D Transform */
.box {
  transform: rotate(45deg);
}

/* Multiple Transforms */
.card {
  transform: translateX(50px) scale(1.2);
}

/* 3D Transform */
.cube {
  transform: rotateX(60deg) rotateY(30deg);
  transform-style: preserve-3d;
}

📝 Penjelasan Detail:

â€ĸ transform - Memodifikasi space koordinat elemen
â€ĸ transform-origin - Mengubah titik origin transformasi
â€ĸ transform-style - Menentukan bagaimana elemen nested di-render dalam 3D space
â€ĸ perspective - Menentukan jarak antara user dan z=0 plane

đŸ› ī¸ Features

advanced-transforms.css
/* Translate */
.move {
  transform: translate(50px, 20px);
}

/* Scale with Origin */
.zoom {
  transform: scale(1.5);
  transform-origin: top left;
}

/* 3D Rotation */
.rotate-3d {
  transform: rotate3d(1, 1, 0, 45deg);
  perspective: 500px;
}

â„šī¸ Browser Support

2D Transforms: Chrome 4+, Firefox 3.5+, Safari 3.1+, IE 9+. 3D Transforms: Chrome 12+, Firefox 10+, Safari 4+, IE 10+.

📊 Basic Tables

transform-values.css
/* Common Transform Functions */
.translate {
  transform: translate(50px, 20px);
}

.rotate {
  transform: rotate(30deg);
}

.scale {
  transform: scale(1.2, 0.8);
}

.skew {
  transform: skew(20deg, 10deg);
}

📝 Penjelasan Detail:

â€ĸ translate(x,y) - Memindahkan elemen sepanjang sumbu X dan Y
â€ĸ rotate(angle) - Memutar elemen sebesar sudut tertentu
â€ĸ scale(x,y) - Mengubah ukuran elemen (1 = ukuran normal)
â€ĸ skew(x-angle,y-angle) - Membuat elemen miring/miring

🚀 Advanced Table

3d-transforms.css
/* 3D Transform Functions */
.translate-3d {
  transform: translate3d(50px, 20px, 100px);
}

.rotate-3d {
  transform: rotate3d(1, 1, 1, 45deg);
}

.scale-3d {
  transform: scale3d(1.2, 1.2, 1.5);
}

.perspective {
  perspective: 1000px;
  transform: rotateY(45deg);
}

â„šī¸ Browser Support

3D Transforms: Chrome 12+, Firefox 10+, Safari 4+, IE 10+. Requires vendor prefixes (-webkit-, -moz-) for full support.

💡 Pro Tips

đŸŽ¯ Best Practices

Gunakan transforms untuk animasi performa tinggi dan efek visual yang smooth tanpa mempengaruhi layout.

best-practices.css
/* ✅ Good - Hardware accelerated */
.animate {
  transition: transform 0.3s ease;
}
.animate:hover {
  transform: scale(1.1);
}

/* ❌ Avoid - Overusing 3D transforms */
.over-3d {
  transform: rotateX(45deg) rotateY(45deg) rotateZ(45deg);
  perspective: 200px;
}

📝 Penjelasan Detail:

â€ĸ Gunakan untuk animasi - Transforms di-handle oleh GPU untuk performa lebih baik
â€ĸ Hindari transform berlebihan - Terlalu banyak transform kompleks bisa mengurangi performa
â€ĸ Gunakan will-change - Beri tahu browser elemen mana yang akan di-transform
â€ĸ Perhatikan transform-origin - Titik origin mempengaruhi hasil transformasi