これは SVG プロパティであり、CSS 仕様では定義されていないことに注意してください。
SVG 要素に適用できる pointer-events 属性には多くの値がありますが、HTML 要素に適用できる値は 3 つだけです。
ポインター イベントを HTML 要素に適用すると、要素がマウス (タッチ) イベントに応答できるかどうかを指定するために使用できます。これは、クリック、状態 (CSS アクティブ、フォーカス、ホバー状態)、およびカーソル イベント (例: リンク上でのポインター カーソルの表示) を防ぐために使用できます。
要素をポインター イベントに応答させることもできます ( auto)、または応答をブロックします (なし)。要素がポインター イベントに応答しないようにすると、その要素の子である要素がそれらのイベントのターゲットになります。要素をクリックすると、その子要素がクリック イベントを受け取ります。ホバー操作やその他のカーソル操作にも同じことが当てはまります。たとえば、pointer-events:none を使用すると、要素の子要素内のテキストを取得できます (以下の例を参照)。
pointer-events 属性は、さまざまなシナリオで非常に役立ちます。このプロパティの優れた利点は、pointer-events:none を使用して 60fps スクロールを作成できることです。 Ryan Seddon がその仕組みについて記事を書きましたので、読む価値があります。
要素上のポインターを無効にするイベントは、子要素によってオーバーライドできます。要素の子要素に pointer-events:auto がある場合、子要素はクリックを処理して応答できます。親要素にこの機能がない場合でも、イベントが発生します。
上で述べたように、pointer-events 属性は SVG 属性です。レベル 3 ユーザー インターフェイス モジュールの以前のドラフトには存在していましたが、そのモジュールから削除され、レベル 4 に追加されました。さらに詳しく知りたい場合は、ここをクリックしてください。
pointer-events: visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | none | inherit
公式構文の値は SVG 要素に適用され、次の 3 つの値のみが HTML 要素に適用されます。 🎜>
pointer-events: auto | none | inherit
例
.overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; /* ... */ pointer-events: none;}
オンライン例
none 値を auto に変更して、オーバーレイがリンク状態のトリガーやその他のイベントのトリガーをどのように防ぐかを観察してください。