【HTML/CSS】ホバーで回転するリンクテキストの作り方

ホバーでテキストが上下に回転するアニメーションをHTMLとCSSのみで簡単に実装することができます。
さっそく実装方法をご紹介いたします。

目次

完成イメージ

See the Pen
Untitled
by 岸上友希那 (@dnrfjuif-the-looper)
on CodePen.

解説

1. color: transparent;

文字の本来の色を透明にしています。その代わりに text-shadow(文字の影) を使ってテキストを表示させています。つまり「見えているのは影だけ」という仕組みです。

2. text-shadow で影を2つ重ねる

初期状態では以下のような影を設定しています。

text-shadow: 
  0 -1.5em 0 #000, /* 上にずらした影 */
  0 0 0 #000;      /* その場の影(実質メインの文字) */
  • 1つ目の影:本来の文字よりも上にずらした位置に黒い影を描画。
  • 2つ目の影:元の位置に黒い影を描画。

この2つを重ねることで「通常の文字」と「上に隠れた文字」の2層構造ができます。

3. ホバー時に位置を切り替える

マウスを載せたときには影の位置を入れ替えます。

text-shadow: 
  0 0 0 #000,      /* 元の位置の文字 */
  0 1.5em 0 #000;  /* 下にずらした文字 */

結果として、「上から下に文字がスライドした」ような効果が生まれます。

4. transition でアニメーション化

transition: text-shadow 0.3s; を指定しているので、影の位置の切り替えがスムーズにアニメーションします。
これによって、パッと切り替わるのではなく、自然に文字が動いて見えるわけです。

とても簡単なのでぜひ取り入れてみてください!
以上、ホバーで回転するリンクテキストの作り方でした。

  • URLをコピーしました!
目次