Saya telah menantang diri saya untuk menciptakan pengalaman visual yang dinamis dan interaktif hanya dalam HTML dan CSS (Tanpa Javascript). Sejauh ini, saya belum menemukan fitur apa pun yang saya butuhkan yang tidak dapat saya lakukan dalam CSS dan HTML murni. Yang ini mungkin sedikit lebih sulit.
Saya perlu mencegah pengguna mengklik dua kali <a>, <input type="submit">dan memberi <button>tag. Ini untuk mencegah mereka mengirim dua formulir atau secara tidak sengaja membuat 2 permintaan GET ke URL. Bagaimana ini bisa dilakukan dalam CSS murni? Bahkan jika kita tidak dapat mengatur disabledtanpa JS, harus ada beberapa teknik masking atau kombinasi gaya yang dapat mengatasinya di sini pada tahun 2020.
Ini adalah contoh sederhana dari suatu upaya:
.clicky:focus{
display: none;
pointer-events: none;
}
<a href="#down" class="clicky">test</a>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p id="down">target</p>
Sayangnya, ini menonaktifkannya sebelum acara klik yang sebenarnya dipecat karena alasan tertentu. Mungkin jangkar bukan cara terbaik untuk menguji? Saya akan terus melakukan upaya lebih lanjut.
pointer-events: allsecara default, tetapi tidak di: status aktif atau: fokus? Suka diatur pointer-events: noneuntuk negara-negara itu?
el:active, el:focusdikombinasikan dengan pointer-events