本文へスキップ
HTML / CSS 基礎 CSS 疑似クラス ユーザー操作

ユーザー操作に関するCSS

更新日:2026-08-02

今回は、

  • マウスを乗せたとき
  • 入力欄を選択したとき
  • ボタンを押せない状態にしたとき

など、ユーザーの操作に反応するCSSを学びます。


今回使用するファイル構成

この回では、次のファイルを使用します。

html-practice/
├── index.html
└── css/
    └── style.css

ユーザー操作とは?

Webサイトでは、見るだけでなく、ユーザーが操作する場面があります。

例えば、

  • ボタンにマウスを乗せる
  • 入力欄をクリックする
  • チェックボックスを選ぶ
  • 送信ボタンを押す

などです。

CSSでは、こうした操作の状態に合わせて見た目を変えることができます。


よく使う状態

代表的なものは以下です。

  • :hover
  • :focus
  • :active
  • :disabled
  • :checked

これらは、HTMLの要素が「今どんな状態か」を表します。


hover

hover は、マウスカーソルが乗っている状態です。

.button:hover {
  background-color: #1d4ed8;
}

ボタンにマウスを乗せたときだけ、背景色を変えることができます。

.button {
  background-color: #2563eb;
  color: white;
  padding: 12px 24px;
  border-radius: 8px;
  text-decoration: none;
  transition: 0.3s;
}

.button:hover {
  background-color: #1d4ed8;
}

transition を一緒に使うと、色の変化がなめらかになります。


focus

focus は、入力欄などが選択されている状態です。

例えば、テキストボックスをクリックしたときに発生します。

.input:focus {
  border-color: #2563eb;
  outline: none;
}

実際の例です。

<input class="input" type="text" placeholder="名前を入力">
.input {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
}

.input:focus {
  border-color: #2563eb;
  outline: none;
}

outline について

ブラウザでは、入力欄を選択すると外側に線が表示されることがあります。

これは outline です。

outline: none;

と書くと消すことができます。

ただし、完全に消すだけだと、どこを選択しているかわかりにくくなります。

そのため、消す場合は代わりに、

border-color: #2563eb;
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2);

のように、選択中であることがわかる見た目を用意するのがおすすめです。


active

active は、ボタンなどを押している瞬間の状態です。

.button:active {
  transform: scale(0.96);
}

押した瞬間に少し小さくすると、クリック感が出ます。

.button {
  transition: 0.2s;
}

.button:active {
  transform: scale(0.96);
}

disabled

disabled は、ボタンや入力欄が無効になっている状態です。

<button class="button" disabled>
  送信できません
</button>
.button:disabled {
  background-color: #ccc;
  cursor: not-allowed;
  opacity: 0.6;
}

cursor: not-allowed; を指定すると、マウスカーソルが禁止マークのようになります。


checked

checked は、チェックボックスやラジオボタンが選択されている状態です。

<input type="checkbox" class="check">
.check:checked {
  accent-color: #2563eb;
}

accent-color を使うと、チェックボックスやラジオボタンの色を変更できます。


cursor

cursor は、マウスカーソルの形を変えるプロパティです。

よく使うものは以下です。

cursor: pointer;
cursor: default;
cursor: not-allowed;
cursor: text;

例えば、クリックできるボタンには pointer を使います。

.button {
  cursor: pointer;
}

ユーザーに「ここはクリックできる」と伝えるために重要です。


まとめ

今回は、ユーザー操作に関するCSSを学びました。

  • :hover はマウスが乗った状態
  • :focus は入力欄などが選択された状態
  • :active は押している瞬間
  • :disabled は操作できない状態
  • :checked は選択されている状態
  • cursor でマウスカーソルの形を変えられる

CSSは、見た目を整えるだけでなく、ユーザーに「操作できる」「選択中」「押せない」などを伝える役割もあります。