Generator Transformasi
Buat dan pratinjau properti transformasi CSS secara visual.
Transformasi CSS adalah properti CSS yang kuat yang memungkinkan Anda mengubah elemen web dalam ruang 2D atau 3D. Melalui transformasi seperti translasi, rotasi, skala, dan kemiringan, Anda dapat membuat desain web yang dinamis dan interaktif. Buat efek yang diinginkan dengan mudah dengan pratinjau real-time.
transform: none;
Fungsi Transformasi
- • translate(x, y): translate(x, y): Pindahkan elemen sebesar x, y
- • scale(x, y): scale(x, y): Skala elemen dengan rasio x, y
- • rotate(angle): rotate(angle): Putar elemen sebesar sudut
- • skew(x, y): skew(x, y): Miringkan elemen sebesar derajat x, y
Kiat Penggunaan
- • Beberapa fungsi transformasi dapat digabungkan dengan spasi
- • Ubah asal transformasi dengan transform-origin
- • Gunakan dengan transisi untuk membuat efek animasi
- • Gunakan properti perspektif untuk transformasi 3D
🎯 Konsep Dasar Transformasi
Transformasi CSS adalah properti CSS yang mengubah bentuk, ukuran, dan posisi elemen. Ini memungkinkan transformasi visual elemen tanpa mengganggu alur dokumen normal.
Sintaks dasar:
transform: function(value) function(value) ...;
📐 Detail Fungsi Transformasi
🔄 Translasi (Pergerakan)
- •
translate(x, y)
: translate(x, y): Bergerak di sepanjang sumbu X, Y - •
translateX(x)
: translateX(x): Bergerak di sepanjang sumbu X saja - •
translateY(y)
: translateY(y): Bergerak di sepanjang sumbu Y saja - •
translate3d(x, y, z)
: translate3d(x, y, z): Pergerakan 3D
transform: translate(50px, 100px);
📏 Skala (Pengubahan Ukuran)
- •
scale(x, y)
: scale(x, y): Skala sumbu X, Y - •
scaleX(x)
: scaleX(x): Skala sumbu X saja - •
scaleY(y)
: scaleY(y): Skala sumbu Y saja - • Lebih besar dari 1 memperbesar, kurang dari 1 menyusut
transform: scale(1.5, 0.8);
🔄 Rotasi (Perputaran)
- •
rotate(angle)
: rotate(angle): Putar di sekitar sumbu Z - •
rotateX(angle)
: rotateX(angle): Putar di sekitar sumbu X - •
rotateY(angle)
: rotateY(angle): Putar di sekitar sumbu Y - • Gunakan unit deg, rad, turn untuk sudut
transform: rotate(45deg);
📐 Miring (Geser)
- •
skew(x, y)
: skew(x, y): Miring di sepanjang sumbu X, Y - •
skewX(angle)
: skewX(angle): Miring di sepanjang sumbu X - •
skewY(angle)
: skewY(angle): Miring di sepanjang sumbu Y - • Ubah menjadi bentuk jajaran genjang
transform: skew(15deg, 5deg);
🎨 Asal Transformasi (Titik Transformasi)
Properti transform-origin mengatur titik asal transformasi. Defaultnya adalah pusat elemen (50% 50%).
Menggunakan kata kunci
transform-origin: top left;
Menggunakan persentase
transform-origin: 25% 75%;
Menggunakan piksel
transform-origin: 10px 20px;
⚡ Kiat Optimasi Kinerja
✅ Rekomendasi
- • Animasikan hanya transformasi dan opasitas
- • Gunakan properti will-change
- • Gunakan akselerasi 3D (translateZ(0))
- • Buat lapisan komposit untuk kinerja yang lebih baik
❌ Hal yang Harus Dihindari
- • Menganimasikan lebar, tinggi
- • Menganimasikan posisi kiri, atas
- • Penyarangan transformasi yang berlebihan
- • Penggunaan will-change yang tidak perlu
Contoh optimasi kinerja:
.optimized {
will-change: transform;
transform: translateZ(0); /* 3D 가속 */
transition: transform 0.3s ease;
}
🎬 Animasi dan Transisi
Transformasi dapat digunakan dengan Transisi dan Animasi CSS untuk membuat efek yang mulus.
Contoh transisi
.hover-effect {
transition: transform 0.3s ease;
}
.hover-effect:hover {
transform: scale(1.1) rotate(5deg);
}
Contoh Animasi Keyframe
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-20px); }
}
.bounce { animation: bounce 1s infinite; }
🌐 Kompatibilitas Browser
Transformasi CSS didukung di semua browser modern, tetapi awalan vendor mungkin diperlukan untuk browser yang lebih lama.
Contoh awalan vendor:
-webkit-transform: rotate(45deg); /* Safari, Chrome */
-moz-transform: rotate(45deg); /* Firefox */
-ms-transform: rotate(45deg); /* IE 9 */
transform: rotate(45deg); /* 표준 */
🎯 Contoh Penggunaan Dunia Nyata
Efek hover kartu
.card {
transition: transform 0.3s ease;
cursor: pointer;
}
.card:hover {
transform: translateY(-10px) scale(1.02);
}
Pemuat berputar
@keyframes spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
.spinner {
animation: spin 1s linear infinite;
}
Efek masuk modal
.modal {
transform: scale(0) rotate(180deg);
transition: transform 0.3s ease;
}
.modal.show {
transform: scale(1) rotate(0deg);
}
Efek klik tombol
.button {
transition: transform 0.1s ease;
}
.button:active {
transform: scale(0.95);
}
🔧 Alat Debugging dan Pengembangan
Alat Pengembang Browser
- • Pengeditan real-time di panel Elemen
- • Periksa nilai akhir di tab Terkomputasi
- • Analisis kinerja dengan tab Kinerja
- • Periksa struktur lapisan dengan Tampilan 3D
Properti CSS yang Berguna
- •
transform-style: preserve-3d
- •
perspective: 1000px
- •
backface-visibility: hidden
- •
will-change: transform
💡 Kiat Pro
Kiat Kinerja
Menggunakan transform3d() atau translateZ(0) untuk membuat lapisan komposit untuk akselerasi GPU dapat secara signifikan meningkatkan kinerja animasi.
Kiat Aksesibilitas
Gunakan kueri media prefers-reduced-motion untuk memberikan alternatif bagi pengguna yang sensitif terhadap gerakan.
Kiat Desain
Mengatur transform-origin dengan benar dapat menciptakan efek transformasi yang lebih alami.
Kiat Pengembangan
Menggunakan variabel CSS untuk mengontrol nilai transformasi secara dinamis membuat integrasi JavaScript lebih mudah.