Buka halaman dengan mengklik tombol html. Kapan menggunakan elemen Tombol

Anda menggunakannya, um... baiklah, ketika Anda ingin meletakkan tombol di halaman yang dapat diklik pengguna, bukan? Sayangnya, segalanya menjadi sedikit lebih rumit. Pada prinsipnya, ini mendekati kebenaran, tapi mari kita pelajari masalahnya lebih dalam.

Elemen itu sendiri terlihat seperti ini:

Lakukan sesuatu

Apa hasil paling umum dari mengklik sesuatu di situs web? Navigasikan ke URL baru seolah-olah Anda telah mengeklik tautan ( elemen ).

Elemen itu sendiri tidak dapat melakukan hal ini. Ada banyak pembicaraan tentang mengizinkan "href di mana-mana", tetapi tidak ada hasil.

Ketika sebuah tombol diklik, tindakan tertentu sebenarnya dilakukan jika konteks yang sesuai digunakan...

Tombol adalah elemen formulir

Formulir web mungkin berisi tombol untuk melakukan (konfirmasi) tindakan. Anda mungkin mengira tampilannya seperti ini:

Elemen shell, secara default, berperilaku persis seperti yang ditunjukkan di atas.

Kirim

Namun, formulir juga dapat memiliki tombol batal. Anda dapat menduplikasi jenis tindakan tombol dengan mengubah perilaku default dari melakukan (konfirmasi) tindakan menjadi membatalkan:

Mengatur ulang

Mengklik tombol ini akan menghapus semua kolom input lainnya (dan area teks) dari blok induk.

Tombol dapat berisi konten

Alasan utama menggunakan suatu elemen adalah karena elemen tersebut berisi tag pembuka dan penutup (). Artinya dapat dibedakan dari kode lainnya. Dalam praktiknya, situasi berikut sering muncul:

Mengonfirmasi

Selama masih ada, konten campuran ini akan ditampilkan di layar.

Sejauh yang saya tahu, tidak ada batasan khusus mengenai apa yang dapat Anda masukkan ke dalam sebuah tombol, sehingga Anda dapat memasukkan apa pun yang Anda inginkan di sana, menciptakan beberapa tombol yang sangat mewah. Dimungkinkan juga untuk menggunakan elemen semu.

Mari kita tinggalkan topik gaya untuk saat ini browser yang berbeda biasanya memiliki gaya khusus yang diterapkan pada tombol. Jika mau, Anda dapat mempertahankan gaya yang diterapkan oleh browser, atau Anda dapat menghapusnya sepenuhnya, lalu gaya default Anda akan menggantikan gaya browser.

Harap dicatat: “jika sebuah tombol tidak memiliki href yang valid, itu hanya sebuah elemen”

Ingat, saya menulis sebelumnya bahwa topik ini memberi saya kesenangan nyata. Hal inilah yang menginspirasi saya untuk menulis artikel ini. Saya membayangkan betapa senangnya saya melihat berbagai kejadian. Seperti:

Saya sudah muak dengan tombol-tombol ini.

Kemungkinan besar, kode di atas memiliki arti seperti ini: Saya akan mengklik tombol untuk melakukan sesuatu dengan JavaScript. Bagaimanapun, ini tampaknya lebih baik daripada menggunakan yang biasa, karena Anda mendapatkan kemampuan untuk mengubah tampilan kursor dan semua gaya lainnya secara default.

Di luar aku tidak berguna.

Namun, tampaknya masih lebih baik

Meskipun tidak melakukan apa pun saat berada di luar, menurut saya, elemen ini tetap lebih baik digunakan untuk tindakan lain yang tidak perlu membuka halaman lain. Malah, itu lebih baik daripada tautan palsu.

Bagus. Mari masukkan beberapa JavaScript

Ini mungkin solusi terbaik. Jika JavaScript diperlukan untuk tindakan apa pun yang terkait dengan klik, maka untuk sebuah elemen, pada prinsipnya, Anda dapat melakukannya tanpa menjalankan JS.

Tapi kita bisa melakukan hal berikut:

// 1. Membuat tombol var button = document.createElement("button"); button.innerHTML = "Lakukan Sesuatu"; // 2. Tempatkan var body = document.getElementsByTagName("body"); body.appendChild(tombol); // 3. Tambahkan pemrosesan tindakan button.addEventListener ("klik", function() ( alert("melakukan sesuatu"); ));

Anda dapat dengan mudah menjadikan "tombol tambahkan" sebagai bagian dari alur kerja JavaScript Anda.

Kapan sebaiknya menggunakan tautan?

Jika Anda memiliki transisi hypertext ke halaman lain, maka lebih masuk akal untuk memformatnya dengan link sehingga Anda dapat menggunakan jangkar. Bahkan jika Anda mengubah perilakunya melalui JavaScript.

Ini perbaikan progresif dalam penggunaan terbaiknya. Misalnya:

  • Tombol pencarian biasanya akan menyebabkan skrip pencarian Ajax dijalankan - sementara link mungkin hanya menunjuk ke halaman pencarian;
  • Tombol "terbitkan" diluncurkan langkah selanjutnya menerbitkan sesuatu yang dibutuhkan pengguna - tetapi tautannya mungkin mengarah ke halaman / terbitkan /;
  • Tombol dengan thumbnail gambar membuka panel terpisah tempat gambar ditampilkan ukuran lebih besar— dan tautannya bisa saja berupa URL ke gambar yang lebih besar itu.

Jika semuanya gagal, masukkan tombol dengan JavaScript.

Masalah Terkait

Anda mungkin mendapatkan sesuatu yang mirip dengan apa yang saya lakukan!

Saya baik-baik saja

Tapi kamu sendiri masih belum baik-baik saja. MDN membahas masalah ini secara rinci:

Harap diperhatikan: Berhati-hatilah saat menandai tautan dengan fungsi tombol. Tindakan tombol biasanya dipanggil menggunakan Spacebar, sedangkan tindakan tautan dipanggil melalui tombol Enter.

Anda juga perlu menambahkan tombol pengendali tindakan yang akan merespons penekanan Spasi untuk memastikan konsistensi dengan tombol aslinya.

Ya, itu saja. Dan um... lakukan hal-hal interaktif dengan benar.

Terjemahan artikel “Kapan Menggunakan Elemen Tombol” disiapkan oleh tim proyek yang ramah.

  • tutorial





Ini bukanlah panduan komprehensif tentang tombol atau contoh desain yang luar biasa, melainkan upaya untuk menunjukkan bahwa ada perbedaan antara tautan dan tombol.


Untuk siapa artikel ini?

Pertama-tama, untuk seorang desainer yang membuat layout website, tetapi tidak melengkapi detail khas web tersebut. Sebuah upaya aneh untuk menjelaskan bahwa situs web berada di luar batas-batas pencetakan datar.


Kedua, bagi perancang tata letak yang menerima tata letak tanpa menyatakan, agar ada tempat untuk mengirimkan perancangnya.


Ketiga, daripada mengomel lagi tentang perbedaan tombol/tautan dan perlunya desain negara, berikan saja tautannya.


Tautan Pendahuluan Tautan tombol mana



CSS Untuk lebih jelasnya, ini adalah sepeda versi saya, yang terlihat agak aneh, tetapi bisa digunakan sebagai contoh.

Normal, arahkan kursor, klik, nonaktifkan sesuai kebutuhan.tombol - status tombol normal ( latar belakang: tidak ada; garis besar: tidak ada; batas: tidak ada; transformasi teks: huruf besar; ) tombol: arahkan kursor, tombol: fokus - saat tombol arahkan kursor: arahkan kursor, tombol: fokus ( warna: hsla(108, 12%, 0%, 1); bayangan kotak: -1px 1px 2px hsla(108, 62%, 42%, 1); warna latar: hsla(108, 62%, 92 %, 1) ) tombol:aktif - pada saat mengklik tombol:aktif ( warna: hsla(108, 42%, 32%, 1); bayangan kotak: -2px 4px 8px hsla(64, 64%, 42% , 1 ); warna latar: hsla(64, 64%, 92%, 1); tombol:nonaktifkan - tombol nonaktif:dinonaktifkan ( warna: hsla(0, 0%, 64%, 1); latar belakang: tidak ada; kotak - bayangan: tidak ada; opacity: 1; ) Contoh yang lebih rumit


Tampilkan CSS

tombol ( margin: .8rem; ukuran font: 1.42rem; padding: 1rem; latar belakang: hsla(180, 90%, 64%, 1); warna: hsla(180, 90%, 12%, 1); teks- bayangan: 1px 1px 1px hsla(180, 90%, 32%, 1); bayangan kotak: -4px 4px 0 0 hsla(180, 90%, 22%, .87), -3px 4px 3px hsla(180, 42 %, 11%, 1), 1px 5px 4px hsla(180, 42%, 11%, 1), -4px 1px 0 0 hsla(180, 90%, 32%, 1), sisipan 0 0 1px 0 hsla(180 , 90%, 90%, 1); batas: 1px hsla(180, 92%, 56%, 1) padat; batas atas warna: hsla(180, 92%, 64%, 1); tidak ada; posisi: transisi relatif: semua kemudahan masuk .22, 1); bayangan teks: 1px 1px 1px hsla(420, 90%, 32%, 1); , 1) padat; warna batas atas: hsla(420 , 90%, 64%, 1); bayangan kotak: -4px 4px 0 0 hsla(420, 90%, 22%, .87), -3px 4px 3px hsla(420, 42%, 11%, 1), 1px 5px 4px hsla(420, 42%, 11%, 1), -4px 1px 0 0 hsla(420, 90%, 32%, 1), sisipan 0 0 1px 0 hsla(420, 90%, 90%, 1 ) tombol:fokus ( latar belakang: hsla(108, 90%, 42%, 1); 87), 0 0 0 hsla(420, 42%, 11%, 1), 0 0 0 hsla(420, 42%, 11%, 1), 0 0 0 0 hsla(420, 0%, 32%, 1 ), sisipkan 1px 1px 4px 0 hsla(420, 0%, 22%, 1); )

Untuk seorang desainer, Anda mungkin tidak tahu apa-apa, tetapi Anda harus menggambar negara bagiannya!

Selain layout dengan keadaan link atau tombol biasa, desainer wajib menyediakannya berbagai negara bagian, agar tidak menyulitkan perancang tata letak.
Misalnya seperti ini:





Terima kasih

Terima kasih telah membaca. Semua yang tertulis di sini tidak 100% merupakan kebenaran hakiki.
Gudang

GitHub

Tautan ke repositori untuk artikel ini. Jika ingin menambah atau mengoreksi silahkan kirimkan Pull Request


Hanya pengguna terdaftar yang dapat berpartisipasi dalam survei ini. , Silakan.

Tombol itu sendiri tidak dapat dijadikan tautan; HTML melarang penggabungan elemen (serta ) dan . Oleh karena itu, Anda tidak dapat menyarangkan tombol di dalam tautan, atau tautan di dalam tombol. Ada tiga cara untuk memastikan bahwa ketika Anda mengklik tombol, halaman web akan terbuka.

Menggunakan HTML

Tempatkan tombol di dalam elemen dan untuk form kita tentukan atribut action dengan alamat halaman web (contoh 1). Selain itu Anda dapat menambahkan atribut sasaran dengan nilai _blank , maka halaman web akan terbuka di tab browser baru.

Contoh 1. Atribut tindakan

Tombol Ikuti tautan

Dalam contoh ini, mengklik tombol akan membuka halaman web new.html di tab baru.

Satu formulir tidak dapat ditempatkan di dalam formulir lainnya. Sebelum menambahkan tombol, pastikan Anda hanya memiliki satu formulir.

Menggunakan CSS

Karena tombol tidak dapat dijadikan tautan, maka kita tinggalkan sama sekali dan menata tautan tersebut sehingga terlihat seperti tombol. Contoh 2 menunjukkan kelas btn saat menambahkannya ke sebuah elemen tautan mengubah desainnya.

Tombol .btn ( tampilan: blok sebaris; /* Elemen blok sebaris */ latar belakang: #8C959D; /* Warna latar belakang abu-abu */ warna: #fff; /* Warna teks putih */ bantalan: 1rem 1,5rem; /* Margin di sekitar teks */ dekorasi teks: tidak ada; /* Hapus garis bawah */ radius batas: 3px; /* Bulatkan sudut */ ) Ikuti tautannya

Hasil contoh ini ditunjukkan pada Gambar. 1.

Menggunakan JavaScript

Anda dapat menggunakan acara onclick untuk menavigasi ke halaman web tertentu dengan menambahkannya ke elemen. Di dalam onclick kita menulis document.location , dan sebagai nilainya alamat halaman web yang diinginkan (contoh 3). Perhatikan kombinasi tanda kutip; alamat halaman web diapit tanda kutip tunggal.

Ada dua pendekatan untuk membuat tombol pada website dalam bentuk link. Mari kita lihat masing-masing secara detail.

1. Tombol berbentuk gambar

Ini adalah pendekatan paling sederhana untuk membuat tombol sebagai tautan di situs web. Untuk melakukan ini, Anda hanya perlu menemukan gambar yang cocok untuk tombol tersebut. Misalnya, gambar dengan tombol Anda disebut button.jpg. Kemudian, untuk membuat linknya, kodenya harus seperti berikut:

... ...

Inilah yang terjadi di halaman situs:

Ini adalah opsi paling dasar. Saya menyarankan Anda untuk membaca tentang tag dan menandai untuk menyesuaikan tombol persis dengan kebutuhan Anda.

Omong-omong, ada situs web khusus untuk membuat gambar untuk tombol: http://dabuttonfactory.com/. Di sini Anda dapat membuat tombol secara gratis sesuai selera Anda (mengatur gaya, memilih gambar, menulis teks yang sesuai, dll.).

2. Tombol dengan menggunakan HTML menandai

Opsi ini juga merupakan salah satu metode untuk membuat tombol sebagai tautan. Berikut ini contoh dasar tombol yang dibuat menggunakan tag dan:

... ...

Seperti inilah kira-kira tampilan halamannya:

Alih-alih URL1 dan URL2, Anda perlu menulis alamat halaman yang ingin Anda tuju. Jika Anda ingin tautan terbuka di tab baru (analog dengan atribut target="_blank" dari tag a), maka alih-alih onclick="javascript:window.location="..."" Anda perlu menulis onclick=" javascript:window.open ="..."" (ganti lokasi dengan terbuka).

Saya hampir yakin Anda ingin mendesain tombol secara berbeda (agar sesuai dengan desain situs Anda). Untuk melakukan ini, perkenalkan kelas btn:

.btn ( //Mengatur gaya umum untuk tinggi tombol :30px; warna tepi :#c2e254 #9bb838 #9bb838 #c2e254 ; gaya tepi :solid ; lebar tepi :1px ; latar belakang :#c2e254 ; kursor :penunjuk ; ) . btn:hover ( //Gaya tombol saat kursor berada di atasnya warna tepi :#FFCC66 #FFFF99 #FFFF99 #FFCC66 ; gaya tepi :solid ; lebar tepi :1px ; latar belakang :#FFFF99 ; ) .btn: fokus ( / /Gaya tombol saat berada di latar belakang fokus :#ddd ; warna tepi :#ddd #333 #333 #ddd ; gaya tepi :solid ; lebar tepi :1px ) .btn:aktif ( //Gaya tombol saat diklik latar belakang :#ff0000 ; warna batas :#ddd #333 #333 #ddd ; gaya batas :solid ; lebar batas :1px ;

Setelah ini, tombolnya akan terlihat seperti ini di halaman.

  • Sergei Savenkov

    semacam ulasan "pendek"... seolah-olah mereka sedang terburu-buru di suatu tempat