CSS
 Computer >> コンピューター >  >> プログラミング >> CSS

CSSのcursorプロパティでカーソルの見た目を自由に変更する方法

HTMLドキュメント内のさまざまな要素に対して、CSSの cursor プロパティを使うことで、マウスカーソルの表示を自由に変更できます。リンク上では指型カーソル、テキスト上ではIビーム、操作不可の場所では禁止アイコンなど、状況に応じたカーソルを指定することで、ユーザーにとって直感的で分かりやすいインターフェースを実現できます。

構文(シンタックス)

CSS cursorプロパティの構文は以下のとおりです。
セレクタ {
    cursor: /*値*/
}

cursorプロパティに指定できる主な値

CSS cursorプロパティには、以下のような値を指定できます。

No.値と説明
1alias
ショートカットや別名が作成されることを示します
2all-scroll
あらゆる方向にスクロールできることを示します
3auto
デフォルト値。ブラウザが自動的にカーソルを設定します
4cell
セル(またはセルの集合)が選択可能であることを示します
5context-menu
コンテキストメニューが利用可能であることを示します
6col-resize
列を水平方向にリサイズできることを示します
7copy
何かをコピーしようとしていることを示します
8crosshair
十字型(クロスヘア)のカーソルとして描画されます
9default
デフォルトのカーソル(矢印)を描画します
10e-resize
ボックスの端を右(東)方向へ移動できることを示します
11ew-resize
左右双方向へのリサイズカーソルを示します
12grab
何かをつかめる(グラブできる)ことを示します
13grabbing
何かをつかんでいる状態であることを示します
14help
ヘルプが利用可能であることを示します
15move
何かを移動できることを示します
16n-resize
ボックスの端を上(北)方向へ移動できることを示します
17ne-resize
ボックスの端を右上(北東)方向へ移動できることを示します
18nesw-resize
右上〜左下の双方向リサイズカーソルを示します
19ns-resize
上下双方向へのリサイズカーソルを示します
20nw-resize
ボックスの端を左上(北西)方向へ移動できることを示します
21nwse-resize
左上〜右下の双方向リサイズカーソルを示します
22no-drop
ドラッグ中の項目をここにドロップできないことを示します
23none
その要素に対してカーソルを一切描画しません
24not-allowed
要求されたアクションが実行されないことを示します
25pointer
指型ポインタで、リンクであることを示します
26progress
プログラムが処理中(ビジー状態)であることを示します
27row-resize
行を垂直方向にリサイズできることを示します
28s-resize
ボックスの端を下(南)方向へ移動できることを示します
29se-resize
ボックスの端を右下(南東)方向へ移動できることを示します
30sw-resize
ボックスの端を左下(南西)方向へ移動できることを示します
31text
選択可能なテキストであることを示します
32URL
カスタムカーソル画像のURLをカンマ区切りで指定します。末尾にはフォールバック用の汎用カーソルを記述します
33vertical-text
選択可能な縦書きテキストであることを示します
34w-resize
ボックスの端を左(西)方向へ移動できることを示します
35wait
プログラムがビジー状態(待機が必要)であることを示します
36zoom-in
拡大(ズームイン)できることを示します
37zoom-out
縮小(ズームアウト)できることを示します
38initial
cursorプロパティをデフォルト値に設定します
39inherit
親要素からcursorプロパティの値を継承します

それでは、実際にCSS cursorプロパティを実装した例を見てみましょう。

サンプルコード

<!DOCTYPE html>
<html>
<head>
<style>
div {
    margin: 5px;
    float: left;
}
#one {
    background-color: beige;
}
#two {
    background-color: lavender;
}
.n-resize {cursor: n-resize;}
.ne-resize {cursor: ne-resize;}
.nw-resize {cursor: nw-resize;}
.not-allowed {cursor: not-allowed;}
.pointer {cursor: pointer;}
</style></head>
<body>
<div id="one">
<div class="nw-resize">left corner</div><div class="n-resize">up</div>
<div class="ne-resize">right corner</div>
</div>
<div id="two">
<div class="not-allowed">Not-allowed</div><div class="pointer">Pointer</div>
</div>
</body>
</html>

実行結果

このコードを実行すると、各領域にマウスを合わせたときに、それぞれ異なる種類のカーソルが表示されます。たとえば「left corner」や「right corner」の上では斜め方向のリサイズカーソル、「up」の上では上下方向のリサイズカーソル、「Not-allowed」の上では禁止マークのカーソル、「Pointer」の上では指型のカーソルがそれぞれ表示されます。

まとめ

cursorプロパティを活用すれば、要素の役割や状態に応じてカーソルの見た目を変えられます。特に pointer(リンク)、text(テキスト選択)、not-allowed(操作不可)、grab / grabbing(ドラッグ操作)などは、UIの使いやすさを大きく向上させるため、実務でも頻繁に使われる値です。また、URL を指定すれば独自のカスタムカーソル画像も使用できるので、サイトの個性を出したい場合にも便利です。

  1. CSSのcolorプロパティを使って要素の文字色を設定する方法

    CSSの color プロパティは、要素のテキスト(文字)の色を変更するために使用されます。値には、標準的なカラーネーム、rgb()、rgba()、hsl()、hsla()、そして16進数(HEX)カラーコードなど、さまざまな形式を指定できます。 構文 CSSの color プロパティの基本構文は以下のとおりです。 Selector {     color: /*値*/ } それでは、実際のコード例を見ていきましょう。 コード例1:複数の色指定方法を使う 次の例では、16進数カラーコード、rgba()、hsl() の3つの異なる指定方法を組み合わせて使用

  2. CSSのメディアクエリを使って画面サイズに応じてレイアウトを切り替える方法

    CSSで画面サイズに基づいてレイアウトを動的に変更したい場合、メディアクエリ(@media)を使用します。メディアクエリを使うことで、デバイスの画面幅に応じて要素の幅や配置を柔軟に切り替えられ、レスポンシブデザインを実現できます。以下は、4つのカラムを持つレイアウトが、画面サイズに応じて自動的に変化するサンプルコードです。コード例<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1&q