Lompat ke konten utama
←

CSS Tata Letak dan Responsif

Pelajaran 19 dari 20

Posisi, variabel, dan gerak

@keyframes, animation, dan transform

Setelah pelajaran ini kamu bisa menulis @keyframes, memasangnya lewat animation dengan durasi dan pengulangan, menggerakkan transform, dan mematikan animasi untuk pembaca yang meminta pengurangan gerak.

  • ±13 menit
  • 3 latihan
  • Diperiksa 28 Okt 2026

Latihan di pelajaran ini butuh akun gratis. Progres, kode, dan catatanmu hanya tersimpan di browser ini. Masuk untuk menyimpannya

Materi

transition menghaluskan perpindahan antara dua keadaan yang dipicu sesuatu, seperti :hover. Gerak yang berjalan sendiri atau punya lebih dari dua titik, seperti lencana Promo yang berdenyut, ditulis dengan @keyframes lalu dipasang lewat properti animation.

@keyframes denyut {
  from { transform: scale(1); }
  50%  { transform: scale(1.08); }
  to   { transform: scale(1); }
}

.lencana {
  animation: denyut 1.2s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .lencana { animation: none; }
}

@keyframes memberi nama pada daftar titik waktu. from sama dengan 0% dan to sama dengan 100%; persen di antaranya boleh ditambah. Properti animation memanggil nama itu beserta durasinya. Seperti transition, nilai waktu pertama adalah durasi dan yang kedua tunda. infinite membuat animasi berulang terus, sedangkan angka seperti 3 menghentikannya setelah tiga putaran.

Yang digerakkan adalah transform: translate menggeser, scale membesarkan, dan rotate memutar. MDN tidak menganjurkan menganimasikan properti model kotak seperti width atau margin, karena setiap langkahnya memaksa tata letak dihitung ulang dan membebani prosesor.

Gerak membesar dan berulang bisa memicu pusing pada orang dengan gangguan vestibular. Bungkus animation: none di dalam @media (prefers-reduced-motion: reduce) untuk pembaca yang menyalakan pengaturan pengurangan gerak. Lencananya tetap tampil, hanya diam.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Sebuah elemen memakai animation: geser 2s ease-in 1s 3. Berapa detik sejak animasi dipasang sampai putaran terakhirnya selesai?

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Lanjutkan ke

Tampilkan 1 lagi

Sebagian materi kelas ini diadaptasi dari Microsoft Web Dev for Beginners — 3-terrarium (CSS layout) (MIT), web.dev — Learn CSS, Learn Forms, Learn Accessibility (CC-BY-3.0).