Mi sono sfidato a creare un'esperienza visivamente dinamica e interattiva solo in HTML e CSS (No Javascript). Finora, non ho trovato nessuna caratteristica di cui avevo bisogno che non potevo fare in puro CSS e HTML. Questo è forse un po 'più difficile.
Ho bisogno di impedire all'utente di doppio clic <a>, <input type="submit">e <button>tag. Questo per impedire loro di inviare due volte un modulo o di fare accidentalmente 2 richieste GET a un URL. Come può essere fatto in puro CSS? Anche se non possiamo impostare disabledsenza JS, ci dovrebbero essere alcune tecniche di mascheramento o una combinazione di stili che possono gestirlo qui nel 2020.
Ecco un semplice esempio di un tentativo:
.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>
Sfortunatamente, questo lo disabilita prima che venga attivato l'evento click effettivo per qualche motivo. Forse le ancore non sono il modo migliore per testare? Continuerò a fare ulteriori tentativi.
pointer-events: allper impostazione predefinita, ma non negli stati: attivo o: focus? Come impostato pointer-events: noneper quegli stati?
el:active, el:focuscombinato con eventi puntatore