Rumah > hujung hadapan web > tutorial js > Modal lwn Dialog

Modal lwn Dialog

Linda Hamilton
Lepaskan: 2024-11-26 06:48:10
asal
267 orang telah melayarinya

Modal vs Dialog

Adakah anda tahu perbezaan antara modal dan dialog?

Tidak?! Jom ketahui

Perbezaan antara Modal dan Dialog

Dalam reka bentuk antara muka pengguna (UI), istilah "modal" dan "dialog" sering digunakan secara bergantian, tetapi ia mempunyai maksud yang berbeza:

Modal:

  • Definisi: Modal ialah elemen antara muka pengguna yang mewujudkan keadaan gangguan sementara dalam aplikasi, yang memerlukan pengguna berinteraksi dengannya sebelum dapat kembali ke kandungan atau aplikasi asas.
  • Ciri utama: Menyekat interaksi dengan seluruh antara muka sehingga ditutup atau berinteraksi dengannya. Memaksa pengguna untuk memfokus pada kandungan modal dan mengambil tindakan (seperti mengesahkan keputusan atau mengisi borang).
  • Kes penggunaan biasa:
    • Permintaan pengesahan (cth. "Adakah anda pasti mahu memadamkan ini?")
    • Mesej amaran atau ralat
    • Skrin pengesahan (cth. skrin log masuk)
    • Pemilihan pilihan penting sebelum meneruskan (cth. "Simpan perubahan?")
  • Contoh: "Simpan perubahan?" dalam banyak aplikasi, di mana anda mesti mengklik "Ya", "Tidak" atau "Batal" sebelum meneruskan tugas lain.

Dialog:

  • Definisi: "Dialog" ialah istilah yang lebih luas untuk mana-mana elemen antara muka pengguna yang membenarkan interaksi dengan pengguna, biasanya melibatkan pertukaran maklumat atau membuat keputusan. Ia mungkin atau mungkin bukan modal.
  • Ciri utama: Tidak semestinya menyekat interaksi dengan seluruh antara muka. Dialog boleh menjadi modal, tetapi juga boleh menjadi bukan modal, iaitu, pengguna boleh terus berinteraksi dengan bahagian lain aplikasi semasa dialog dibuka.
  • Kes penggunaan biasa:
    • Permintaan untuk input pengguna (cth. dialog carian atau tetapan)
    • Paparan maklumat (cth. mesej ralat, makluman)
    • Borang kompleks atau proses berbilang langkah
  • Contoh: Kotak dialog dalam pemproses perkataan yang meminta parameter tertentu (cth. saiz fon atau pemformatan), tetapi membenarkan anda berinteraksi dengan elemen lain aplikasi jika ia adalah dialog bukan modal.

Perbezaan utama:

  • Menyekat interaksi:

    • Satu modal menyekat interaksi dengan antara muka utama sehingga ia diketepikan.
    • Dialog mungkin menyekat interaksi atau tidak; Ia bergantung pada sama ada ia adalah dialog modal atau bukan modal.
  • Kes guna:

    • Modal digunakan untuk keputusan kritikal, makluman atau tindakan yang memerlukan pengguna memfokuskan pada kandungan modal sebelum meneruskan.
    • Dialog boleh digunakan untuk pelbagai interaksi, termasuk memaparkan maklumat, menyerahkan borang atau memilih pilihan, dengan atau tanpa menyekat antara muka utama.

Pengenalan kepada Elemen Dialog dalam HTML

HTML menawarkan cara yang mudah dan cekap untuk mencipta modal dan kotak dialog. Elemen ini sangat fleksibel, membolehkan anda menyesuaikan kandungan dan gaya, selain menawarkan faedah kebolehaksesan terus dari kotak. Mari terokai cara ia berfungsi dan cara anda boleh menggunakannya untuk mencipta modal yang berkesan pada halaman web anda.

Struktur Asas

Ia agak mudah: ia hanyalah teg HTML dengan atribut pilihan dan beberapa kaedah JavaScript yang berkaitan. Lihat contoh asas penggunaan:

<dialog>
  <!-- Conteúdo do Dialog -->
</dialog>
Salin selepas log masuk
Salin selepas log masuk

Secara lalai, dialog disembunyikan. Untuk memaparkannya, anda boleh menambah atribut terbuka, tetapi disyorkan untuk menggunakan kaedah JavaScript show() dan showModal() untuk mengawal pembukaan dialog:

<dialog open>
  <span>Você pode me ver agora!</span>
</dialog>
Salin selepas log masuk
Salin selepas log masuk

Walau bagaimanapun, adalah tidak digalakkan untuk menggunakan atribut terbuka secara langsung kerana ini mewujudkan dialog bukan modal. Sebaliknya, anda harus menggunakan kaedah JavaScript:

const dialog = document.querySelector("dialog");
dialog.show(); // Abre um diálogo não-modal
dialog.showModal(); // Abre um diálogo modal
Salin selepas log masuk
Salin selepas log masuk

Kaedah showModal() membuka dialog modal, manakala show() membuka dialog bukan modal (sejenis pop timbul).

Menutup Dialog

Untuk menutup dialog, anda boleh menggunakan kaedah close(). Selain itu, jika dialog adalah modal, ia boleh ditutup dengan menekan kekunci Esc:

const dialog = document.querySelector("dialog");
dialog.close(); // Fecha o diálogo
Salin selepas log masuk
Salin selepas log masuk

Ciri Kebolehcapaian Automatik

Kelebihan besar

ialah ia mengendalikan ciri kebolehaksesan secara automatik. Ia menggunakan atribut aria yang betul dan mengurus fokus, menjadikannya lebih mudah untuk membuat apl yang boleh diakses.

Menggayakan Elemen Dialog

Walaupun

Ia sudah disertakan dengan beberapa gaya lalai yang digunakan oleh penyemak imbas, ia mudah untuk menyesuaikannya. Berikut ialah contoh dialog yang digayakan menggunakan beberapa sifat CSS asas:

dialog {
  z-index: 10;
  margin-top: 10px;
  background: green;
  border: none;
  border-radius: 1rem;
}
Salin selepas log masuk

Selain itu, anda boleh menggayakan latar belakang mod menggunakan ::latar belakang elemen pseudo. Untuk mengubah suai latar belakang (kawasan di belakang modal), anda boleh menggunakan CSS berikut:

<dialog>
  <!-- Conteúdo do Dialog -->
</dialog>
Salin selepas log masuk
Salin selepas log masuk

Ini memudahkan anda membuat modal tersuai yang sesuai dengan reka bentuk tapak web anda.

Ciri Lanjutan Elemen Dialog

  • Borang Dalam Dialog Anda boleh menggunakan borang dalam dialog. Jika anda menetapkan atribut method="dialog" pada borang, dialog akan ditutup secara automatik apabila borang diserahkan, tanpa benar-benar menghantar data borang ke pelayan. Perkara yang paling menarik ialah, apabila anda membuka semula dialog, data borang masih ada.
<dialog open>
  <span>Você pode me ver agora!</span>
</dialog>
Salin selepas log masuk
Salin selepas log masuk
  • Butang Pembatalan Anda boleh menambah butang batal pada borang yang menutup dialog tanpa menyerahkan borang, menggunakan atribut formmethod="dialog":
const dialog = document.querySelector("dialog");
dialog.show(); // Abre um diálogo não-modal
dialog.showModal(); // Abre um diálogo modal
Salin selepas log masuk
Salin selepas log masuk
  • Tutup pada Click Away Walaupun tidak mempunyai gelagat ini secara asli, adalah mudah untuk menambah pendengar acara klik untuk menutup dialog apabila pengguna mengklik darinya. Berikut ialah contoh mudah untuk melaksanakan ini:
const dialog = document.querySelector("dialog");
dialog.close(); // Fecha o diálogo
Salin selepas log masuk
Salin selepas log masuk

Penyelesaian ini membolehkan dialog ditutup apabila mengklik di luar kawasan ragam, tingkah laku biasa dalam banyak ragam.


Kesimpulan

HTML menawarkan cara yang mudah tetapi berkuasa untuk melaksanakan modal dan kotak dialog, dengan tumpuan yang kuat pada kebolehaksesan. Ia memudahkan untuk mencipta modal tersuai tanpa memerlukan perpustakaan luaran atau konfigurasi kompleks. Menggunakan kaedah seperti show(), showModal() dan close(), anda boleh mengawal gelagat dialog anda dengan mudah.

Selain itu, keupayaan untuk menggayakan dialog dan latar belakangnya dengan CSS menjadikannya lebih disesuaikan. Dengan hanya beberapa ciri tambahan, seperti menutup modal pada klik jauh atau menyepadukan borang,

menjadi alat yang sangat fleksibel dan berguna untuk mencipta elemen interaktif di tapak web anda.


Untuk maklumat lanjut dan contoh: https://blog.webdevsimplified.com/2023-04/html-dialog/
https://dev.to/iam_timsmith/dialogs-vs-modals-is-there-a-difference-210k

Atas ialah kandungan terperinci Modal lwn Dialog. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan