LoginSignup
1
1

More than 3 years have passed since last update.

pointer-events: none; を使うとマウスの当たり判定をなくせて便利だったという話

Last updated at Posted at 2019-12-23

こういうセレクトボックスを作りたかった

▼の部分はCSSで作った装飾です。標準の<select>タグをスタイリングしたものの上に置いてる感じ。

┌───────┐
│   ▼ │
└───────┘

当たり判定

ただ、標準のセレクトボックスのUIの上にCSSで装飾した▼を乗せると、その部分をクリックしてもセレクトボックスの当たり判定がなくなってしまうという問題に直面した。。。

解決法

pointer-events: none;を上に置いた装飾に当てれば問題なくセレクトボックスとして使える! :muscle:

pointer-events - CSS: カスケーディングスタイルシート | MDN

余談

これを覚えておけばz-indexが上のDOMを置いて、当たり判定をなくすということもできるので結構便利な気がします。

プロパティの値はauto と none以外はSVG専用みたいですね。。。こっちはちょっとよくわかんないですけどとりあえずnone覚えておくと便利な気がします。。。。(2回目)

ちなみに

appearance: noneで標準UIの▼みたいなやつを消せます。これもセットで使えば標準selectのスタイリングができていい感じです。

appearance (-moz-appearance, -webkit-appearance) - CSS: カスケーディングスタイルシート | MDN

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1