LoginSignup
1
1

More than 3 years have passed since last update.

ホバー可能かどうかによってスタイルを変更する

Posted at

はじめに

CSSでスタイルを定義する際、クリック/タップ可能な領域は、「カーソルをホバーさせることができるか」に応じて変更したい場合があります。これは例えば、マウスカーソルが使えない場合はタップ可能であることを認識させるデザインにしたい、タップ可能領域を大きくしたい、などのケースが考えられます。

ホバー可能か否かでスタイルを変更する

ホバー可能かどうかにおいて異なるCSSを適用したい場合、 max-width などのメディアクエリを使用して「スマホっぽいサイズ」かどうかで識別しようとしても、Viewportのサイズはデバイスによって様々であるため確実ではありません。そこで役に立つのが、 hover メディアクエリです。

hover は、ユーザーの入力方法が要素をホバー可能かどうかを識別するメディアクエリであり、以下のように使用することが可能です。

@media (hover) {
  .something {
    /* ホバー可能な場合に適用するスタイル */        
  } 
}

@media  (hover:none) {
  .something {
    /* ホバーできない場合に適用するスタイル */
  } 
}

その他の方法

ここで説明したのは hover を使う方法ですが、その他の方法として pointer メディアクエリを使用する方法も考えられます。これは、ユーザーが持つポインティングデバイスの正確さを識別するメディアクエリであり、マウスなどの正確なポインティングデバイスを使っている場合は pointer: fine、指などのタッチスクリーンを使っている場合は pointer: fine として定義することができます。

参考

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