はじめに
このページでは、CSS で指定できる マウスカーソルの種類を実際に体験しながら確認できます。 各項目の文字の上にマウスを重ねると、カーソルの形が変わります。
カーソルにはそれぞれ意味があります。見た目だけで変更すると、利用者の混乱につながるため注意しましょう。
サンプル(マウスをのせて確認)
- 自動選択されたカーソル(auto)
- 標準カーソル(default)
- リンクカーソル(pointer)
- テキスト編集用カーソル(text)
- 移動カーソル(move)
- 禁止カーソル(not-allowed)
- 待機カーソル(wait)
- 進行中カーソル(progress)
CSS
.cursor-list {
list-style: none;
padding: 0;
}
.cursor-list li {
margin: 6px 0;
font-weight: bold;
}
/* 基本 */
.cursor-auto { cursor: auto; }
.cursor-default { cursor: default; }
.cursor-pointer { cursor: pointer; }
.cursor-text { cursor: text; }
.cursor-move { cursor: move; }
/* 状態を表す */
.cursor-not-allowed { cursor: not-allowed; }
.cursor-wait { cursor: wait; }
.cursor-progress { cursor: progress; }
HTML
<ul class="cursor-list">
<li class="cursor-auto">自動選択されたカーソル(auto)</li>
<li class="cursor-default">標準カーソル(default)</li>
<li class="cursor-pointer">リンクカーソル(pointer)</li>
<li class="cursor-text">テキスト編集用カーソル(text)</li>
<li class="cursor-move">移動カーソル(move)</li>
<li class="cursor-not-allowed">禁止カーソル(not-allowed)</li>
<li class="cursor-wait">待機カーソル(wait)</li>
<li class="cursor-progress">進行中カーソル(progress)</li>
</ul>
よく使われるカーソル
| カーソル | 用途 |
|---|---|
| default | 通常の表示 |
| text | テキスト入力・選択 |
| move | ドラッグで移動できる要素 |
| not-allowed | 操作できないことを示す |
resize 系カーソル
resize 系カーソルは、
「要素をリサイズ(サイズ変更)できること」をユーザーに示すためのカーソルです。CSS の cursor プロパティで指定します。
カーソルは 操作の目印 であり、実際のリサイズ処理には JavaScript が必要です。
cursor: ew-resize; /* 左右 */
cursor: ns-resize; /* 上下 */
cursor: nwse-resize; /* 斜め(↘↖) */
cursor: nesw-resize; /* 斜め(↙↗) */
CSS
接頭辞を「resize-」にして指定して進めます / .resize-box を追加
見た目 → 「.resize-box」
挙動の意味 → 「.resize-ew」
.resize-ew { cursor: ew-resize; } /* 左右に伸縮 */
.resize-ns { cursor: ns-resize; } /* 上下に伸縮 */
.resize-nwse { cursor: nwse-resize; } /* 斜めに伸縮(↘↖) */
.resize-nesw { cursor: nesw-resize; } /* 斜めに伸縮(↙↗) */
.resize-box {
width: 200px;
height: 50px;
border: 1px solid #333;
}
実例:左右リサイズできるボックス・上下リサイズできるボックス
<div class="resize-box resize-ew">左右に伸縮できます</div>
<div class="resize-box resize-ns">上下に伸縮できます</div>
マウスをこのボックスの端に置くと 左右 / 上下に変化させられる印 が表示されます。 実際にドラッグで幅を変えるには JavaScript が必要です。(カーソルはあくまで「目印」)
カスタムカーソル(応用)
「カスタムカーソル」は、自分で用意した画像やアニメーションをマウスカーソルとして使う方法のことです。
CSS の cursor プロパティで、画像ファイルを指定します。使用できる拡張子は、「.cur / .ani」対応状況はブラウザにより異なります。
.custom-cursor {
cursor: url(cursor.cur), auto;
}
例:静止カーソル
<p class="custom-cursor">この文字にマウスをのせるとカーソルが変わります</p>
.custom-cursor {
cursor: url('arrow.cur'), auto;
}
arrow.cur は自作の矢印カーソル。マウスを文字に重ねると、この画像がカーソルになる。
例:アニメーションカーソル
.custom-ani {
cursor: url('spark.ani'), auto;
}
拡張子は 「.cur(静止)か .ani(アニメ)」。
「auto …」 ブラウザが標準カーソルを代わりに表示する指定(必須)。
「GIF:いろいろ」のページにアニメーションカーソルを掲載していますが、 矢印形状ではないため、実用用途には向きません。
注意(とても大切)
マウスカーソルの形には、それぞれ意味があります。
- クリックできないのに
pointer - 文字入力できないのに
text - 常に
wait
このような使い方は、ユーザーの混乱や誤操作の原因になります。カーソル変更は「意味があるときだけ」にしましょう。
