ユーザー操作
pointer-events
pointer-events は、要素がマウスやタッチの操作を受け取るかを指定します。none にすると、操作は要素を素通りして後ろの要素に届きます。
構文
auto | noneプレビュー
プリセット
右下の角をドラッグするとサイズを変えられます
コード
.box > :nth-child(2) {
pointer-events: none;
}コントロール
pointer-eventsnone
解説
値の書き方
auto(初期値): ふつうどおり、クリックやマウスを乗せた操作を受け取ります。none: 要素が無いものとして扱い、後ろにある要素がクリックされます。マウスを乗せたときの:hoverやカーソルの形も、後ろの要素のものになります。
プレビューでは、ボタンの右下に重なった黄色い札に書いています。none にすると、札の上からでもボタンの色が変わり、押した回数が増えます。
よく使う場面
一覧の端に重ねたグラデーションや、画像の上に置いた飾りの文字など、見た目のためだけに重ねた要素が、下の要素の操作を邪魔しないようにするときに使います。
気をつけること
- 継承します。
noneを書いた要素の子も操作を受け取りませんが、子にpointer-events: autoを書けば、その子だけ受け取るように戻せます。 - キーボードの操作は止まりません。
noneのボタンやリンクにも Tab キーで移動でき、Enter キーで押せます。操作できなくしたいときは、フォームの部品ならdisabled属性、まとめてならinert属性を使います。 visiblePainted・fill・strokeなどのキーワードもありますが、SVG の図形のためのもので、HTML の要素での効き方は決まっていません。