私は、HTMLとCSSのみ(JavaScriptなし)で視覚的に動的でインタラクティブなエクスペリエンスを作成するように挑戦しました。これまでのところ、純粋なCSSやHTMLでは実行できなかった必要な機能に出会ったことはありません。これはおそらくもう少し難しいです。
私は、ダブルクリックからユーザーを防ぐために必要がある<a>
、<input type="submit">
と<button>
タグ。これは、フォームを二重に送信したり、誤って2つのGETリクエストをURLに送信したりするのを防ぐためです。これは純粋なCSSでどのように実行できますか?disabled
JSなしでは設定できない場合でも、2020年には、それを処理できるマスキングテクニックまたはスタイルの組み合わせが必要です。
これが試みの簡単な例です。
.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>
残念ながら、これは実際のクリックイベントが何らかの理由で発生する前に無効にします。おそらくアンカーはテストする最良の方法ではありませんか?これからも挑戦していきます。
pointer-events: all
デフォルトかもしれませんが、:activeまたは:focus状態ではありませんか?pointer-events: none
それらの州の設定が好きですか?
el:active, el:focus
ポインターイベントと組み合わせる