Penataan Modal dan Dialog
Atur gaya elemen dialog HTML bawaan dan modal khusus dengan latar belakang, posisi, serta animasi.
Penataan Modal dan Dialog adalah pelajaran CSS Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar CSS Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus CSS Academy mencakup 4 pelajaran total.
Elemen Dialog Bawaan
Elemen HTML <dialog> menyediakan perilaku modal bawaan: perangkap fokus, penutupan dengan Escape, serta API showModal() / close(). Tata elemennya dengan CSS, alih-alih membangun perancah modal kustom dari awal.
Penataan Lapisan Latar
Elemen semu ::backdrop menata lapisan di belakang <dialog> yang terbuka. Terapkan latar belakang semitransparan: dialog::backdrop { background: rgba(0,0,0,0.5); backdrop-filter: blur(4px); }. Anda tidak memerlukan div pembungkus.
Tata Letak Dialog
Pusatkan dialog dengan CSS: dialog { margin: auto; max-width: min(90vw, 640px); max-height: 90vh; overflow-y: auto; }. Menggunakan margin: auto pada dialog akan menempatkannya di tengah area pandang tanpa pemosisian melalui JS.
Gulir dan Luapan
Atur overflow-y: auto pada dialog itu sendiri untuk menangani konten yang panjang. Atur overflow: hidden pada body saat modal dibuka untuk mencegah pengguliran latar belakang—tambahkan dan hapus kelas dengan JavaScript untuk mengaktifkan atau menonaktifkan perilaku ini.
Animasi dengan CSS
Animasikan kemunculan dialog menggunakan @starting-style (Chrome 117+) untuk animasi masuk yang hanya menggunakan CSS, tanpa JavaScript. Untuk dukungan yang lebih luas, tambahkan kelas terbuka dengan JavaScript dan gunakan transition pada transform dan opacity: slide-up dari translateY(20px) ke translateY(0).
Tantangan Animasi Penutupan
Menganimasikan penutupan dialog cukup rumit—dialog langsung disembunyikan saat close() dipanggil. Solusinya adalah menggunakan API popover (yang mendukung animasi penutupan secara bawaan), atau mencegat penutupan dengan JavaScript, menjalankan kelas animasi keluar, lalu memanggil close() setelah animasi berakhir.
Pengelolaan Z-index
Dialog terbuka di atas semua konten halaman lainnya. Hindari konflik z-index dengan menggunakan konteks penumpukan bawaan elemen dialog—elemen ini dirender di lapisan teratas, di atas semua nilai z-index CSS, tanpa memerlukan pengaturan z-index pada dialog itu sendiri.
Dialog Responsif
Pada perangkat seluler, geser dialog dari bawah seperti lembar: dialog { margin: auto auto 0; width: 100%; border-radius: 16px 16px 0 0; max-height: 90vh; }. Pada komputer, pusatkan dialog sebagai modal tradisional menggunakan pola margin: auto.
Pengelolaan Fokus
Elemen dialog bawaan otomatis memindahkan fokus ke elemen pertama yang dapat menerima fokus di dalamnya saat dibuka. Pastikan urutan tab di dalam dialog logis. Tambahkan tombol penutup yang mengembalikan fokus ke elemen pemicu saat dialog ditutup agar alur navigasi keyboard berjalan dengan baik.
Atribut Aksesibilitas
Tambahkan aria-labelledby yang menunjuk ke judul dialog dan aria-describedby yang menunjuk ke deskripsi dialog. Peran dialog tersirat untuk <dialog>. Pembaca layar mengumumkan label-label ini saat fokus memasuki dialog.
Pola Dialog Konfirmasi
Dialog konfirmasi memerlukan judul berupa pertanyaan yang jelas, deskripsi singkat tentang dampaknya, tombol tindakan berisiko (berwarna merah dan rata kanan), serta tombol batal (rata kiri atau sekunder). Gunakan autofocus pada tombol batal agar pilihan yang aman menjadi interaksi keyboard bawaan.
Uji Pemahaman
Apa keunggulan menggunakan elemen <dialog> bawaan dibandingkan modal kustom berbasis div?
Ringkasan
Elemen dialog bawaan dengan ::backdrop, pemusatan menggunakan margin: auto, pengendalian luapan, animasi CSS untuk kemunculan, dan pengelolaan fokus menyediakan pola modal yang sepenuhnya aksesibel dan dikendalikan oleh CSS. Tata letak lembar responsif pada perangkat seluler serta atribut ARIA yang tepat melengkapi komponen dialog yang siap digunakan dalam produksi.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Penataan Modal dan Dialog” gratis?
Ya — teks lengkap “Penataan Modal dan Dialog” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus CSS Academy, upgrade ke CoddyKit PRO. Kursus CSS Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Penataan Modal dan Dialog”?
Atur gaya elemen dialog HTML bawaan dan modal khusus dengan latar belakang, posisi, serta animasi. Kamu berlatih CSS Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai CSS Academy?
Tidak diperlukan pengalaman sebelumnya. CSS Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Penataan Modal dan Dialog” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran CSS Academy ini?
Ya. Setiap pelajaran CSS Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Komponen Kartu dengan Properti Khusus CSS
- Penataan Modal dan Dialog
- Pola Menu Tarik Turun dan Popover
- Komponen Tab dengan Trik :checked vs JS