CSS

マウスカーソルについてくるマウスストーカーの作り方【HTML/CSS】

「マウスストーカー」は、サイトのデザインにアイデンティティを持たせるだけでなく、マウスカーソルの見失い防止や、押せるボタンの強調などにも役立ちます。

本記事では、マウスカーソルの変更や、マウスストーカーの作り方をご紹介します。

マウスカーソルの変更

マウスカーソルを、いつもの矢印ではなくcssで作った図形や画像など、別の要素に置き換えることができます。

今回は、cssの図形に変更したコードで解説します。

 

HTML解説

マウスカーソルの代わりとなる要素「cursor」、カーソルの代わりとなる図形をスタイルする要素「stalker」を設置します。

「stalker」の部分は、imgタグを設置することでその画像が表示されるようになります。

また、jQueryを使用するので、今回はcdnで読み込んでます。

 

CSS解説

bodyに「cursor: none;」とスタイルすることでマウスカーソルを非表示にすることができます。
また、カーソルの前面に要素があってクリックできない状態になっているため、「pointer-events: none;」でクリックできるようにします。

今回はbodyが空なので、「height: 200px;」とスタイルすることで高さ200px以内はマウスカーソルが変更されるようにしています。

 

cssのカーソル

カーソルの幅を「width: 40px; height: 40px;」、jQueryにてカーソルの初期値を「top, left」に指定しているため、カーソルの位置が左上にズレます。
そのため、「margin: -20px 0 0 -20px;」とスタイルすることで、元々のマウスカーソルと同じ位置になるように調整します。

また、クリックができるように「pointer-events: none;」を指定しています。

 

jQuery解説

「e.clientX」「e.clientY」でカーソルの座標位置を取得し、「cursor.css()」でカーソル要素のcssに代入しています。
今回は、topとleftを書き換えています。

 

遅れてついてくるマウスストーカー

マウスカーソルに遅れてついてくるマウスストーカーを作ることができます。

 

HTML解説

マウスカーソルとなる要素とは別に、ストーカーとなる要素も設置します。

 

CSS解説

カーソル要素のcssは、さきほどのマウスカーソルの変更と同じcssです。

 

jQuery解説

カーソルのjsは、さきほどのマウスカーソルの変更と同じjsです。
ストーカーが遅れてついてくるように「stalker.css()」に「setTimeout」で100を指定することで、マウスを動かした0.1秒後にストーカー要素が遅れてついてくるようにしています。

▼HTML/CSS/JavaScriptの学習本を探してる方はこちらの記事をどうぞ

2023年版 Webコーディングにオススメの学習本【HTML/CSS/JavaScript】この記事では、初心者から中級者以上まで、Webコーディングの学習にオススメの学習本をご紹介します。この記事で紹介する本は、分かりやすい解説や実践的な例題、デザインや解説図など、学習をサポートするいろんな要素が含まれている本を選びました。ぜひ、自分に合った本を見つけて、ウェブ制作のスキルを磨いてみてください。...

 

ABOUT ME
りん
QA 1年 / Webデザイナー 2年 / SE 2年 / フリーランスSE 1年 / SE人事・開発PM 半年 / 沖縄から福岡に移住3年目 / 趣味や好きなことをブログにまとめてます