0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CSSの疑似クラス(_hover / _active / _focus など)の違いと使い分け

0
Posted at

ボタンをクリックしたのに色が変わらない、別の場所をクリックしたら変わる、といった現象に遭遇したことはないでしょうか。

この記事では、よく使う疑似クラスの違いと使い方を整理します。
(Panda CSSを用いた例で紹介)


_hover:マウスが乗ったとき

_hover: {
  bgColor: "gray.100",
}

どんな状態か

マウスカーソルが要素の上にある状態です。

使いどころ

  • ボタンが押せることを伝える
  • リスト項目の強調表示
_hover: {
  bgColor: "gray.100",
  cursor: "pointer",
}

_active:押している瞬間

_active: {
  bgColor: "gray.200",
}

どんな状態か

クリックしている最中の一瞬だけ適用されます。

使いどころ

  • ボタンが押された感覚を出す
_active: {
  transform: "scale(0.98)",
}

少し縮めたり、色を濃くすることで「押した感」を表現できます。


_focus:フォーカスが当たっている状態

_focus: {
  outline: "2px solid blue",
}

どんな状態か

要素が選択された状態です。

  • クリック後も残る
  • Tabキーで移動したときにも付く

注意点

クリック後にスタイルが残るため、意図しない見た目になることがあります。


_focusVisible:キーボード操作時のみフォーカス

_focusVisible: {
  outline: "2px solid blue",
}

_focusとの違い

  • _focus:クリックでも表示される
  • _focusVisible:キーボード操作時のみ表示される

使いどころ

クリック時の見た目は崩さず、キーボード操作には対応したい場合に使います。


その他よく使う疑似クラス

_disabled:無効状態

_disabled: {
  opacity: 0.5,
  cursor: "not-allowed",
}

入力が足りないときや送信中のボタンに使います。

_checked:選択状態

_checked: {
  bgColor: "blue",
}

チェックボックスやラジオボタンに使います。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?