cursor プロパティでの URL 値の使用
Gecko 1.8 は URL の値を CSS のcursor
プロパティで、 Windows と Linux で対応しています。 Mac の対応は Gecko 2 (Firefox 4) で追加されました。これによって任意の画像を、 Gecko が対応している画像形式ならば何でも、マウスカーソルとして指定することができます。
構文
基本 (CSS 2.1) の基本的な記述は次の通りです。
cursor: [ <url()> , ]* <keyword>
つまり、0 個以上の URL を (カンマ区切りで) 指定することがありますが、 auto
や pointer
などの CSS 仕様書で定義されているキーワードうちの一つを指定する必要があります。
例えば次のような値が有効です。
cursor: url(foo.cur), url(http://www.example.com/bar.gif), auto;
始めに foo.cur を読み込もうとします。ファイルが存在しないか、何らかの理由で有効でない場合は、bar.gif を読み込もうとし、どちらも利用できない場合は auto
が使用されます。
Gecko 1.8 (Firefox 1.5) では、 cursor の値に対して CSS 3 の構文が加えられました。
cursor: [ <url()> [ <x> <y> ]? , ]* <keyword>
これにより、カーソル画像の境界を設定するためのカーソル有効範囲を指定できます。指定がない場合、有効範囲はファイル (CUR か XBM ファイルの場合) の持つ設定が読み込まれるか、画像の左上端が設定されます。 CSS3 の構文の例は次の通りです。
.foo {
cursor: auto;
cursor: url(cursor1.png) 4 12, auto;
}
.bar {
cursor: pointer;
cursor: url(cursor2.png) 2 2, pointer;
}
/* IE では 'auto' や 'pointer' で代替されますが、個別に設定する必要があります */
初めの値は X 軸範囲で、2つ目の値は Y 軸範囲です。この例では、左上の (0, 0) の座標から (4, 12) までのピクセル座標が有効範囲になります。
制限
Gecko で使用できる、すべての画像形式が対応されています。つまり PNG, GIF, JPG, BMP, CUR などの画像形式が使用できるということです。 ANI には対応していません。アニメーション PNG や GIF は動くカーソルとしては使用できません。
メモ: Gecko 2.0 以降は、 Gecko では SVG 形式のカーソルにも対応しています。しかし、 SVG 画像は (パーセント値ではない) 長さの値による幅と高さを SVG のルートノードに設定しなければなりません。 JavaScript、 CSS アニメーション、 SVG を内部にもつ宣言的な SMIL は無視されます。例えば、 SVG を使用してアニメーションカーソルを作成することはできません。
Gecko (Firefox) ではカーソルの寸法が 128×128px に制限されています。それより大きいカーソル画像は無視されます。ただし、オペレーティングシステムやプラットフォームとの互換性を最大化するために、 32×32px の大きさに制限してください。
(Gecko 1.9.2-1.9.2.6, Firefox 3.6-3.6.6 ではバグにより、 Windows では 32x32px に制限されます。のちのバージョンでは修正されています。)
Windos XP より前の Windows は、半透明のカーソルには対応していません。これはオペレーティングシステムの制限です。透過はすべてのプラットフォームで動作します。
カーソルでの URL 値の使用は Windows、 OS/2、 Linux (GTK+ 2.4かそれ以上のバージョン) で対応しています。 Mac OS X での対応は Gecko 2 (Firefox 4) で追加されました。
ブラウザーの互換性
Microsoft Internet Explorer 6.0 も cursor
プロパティに対応しています。しかし、次の制限があります。
- IE は CUR と ANI 形式のみに対応。
- IE は CSS3 構文での X および Y 座標に対応していません。カーソルの画像、およびプロパティの残りの部分と一緒に無視されます。
ブラウザー | 最初期バージョン | 形式 (例) | X-Y 座標 |
---|---|---|---|
Internet Explorer | 6.0 | .cur | .ani |
--- |
Firefox (Gecko), Windows および Linux | 1.5 (1.8) | .cur | .png | .gif | .jpg |
1.5 (1.8) |
Firefox (Gecko) | 4.0 (2.0) | .cur | .png | .gif | .jpg | .svg |
(Gecko 2.0) |
Opera | --- | --- | --- |
Safari (Webkit) | 3.0 (522-523) | .cur | .png | .gif | .jpg |
3.0 (522-523) |
OS X 10.5 から、 Safari (Mac) は .cur ファイルに対応しています。 |