[HTML/CSS]マウスオーバーして下線を表示するアニメーション

他のサイトでよく見る下線が伸びてくるアニメーションを試してみました。他のソースを参考にしたわけではないので、もっと効率のいい方法はあるかもしれません。

下記の文字列にマウスオーバーすると下線が表示されます。

 

UnderLine

 

(4/20 修正)

クラスの擬似要素(before、after)に対して擬似クラス(hoverなど)を指定することで下線のアニメーションを作成しています。

 

クラスの擬似要素(before、after)に対して擬似クラス(hoverなど)を指定できることを知りました。

これでJavaScriptでのDOM操作なしで実現できます。CSSもJavaScriptも勉強不足です。調べるだけじゃわからないことだったので、自分でいろいろ試すことが大切だと改めて思いました。

 

 

( 前やってた方法。何でこんな冗長な処理しか思いつかなかったのか・・・ )

 

「::after」という擬似要素を使用して文字列の下に下線を表示しました。同じく擬似要素の「::before」を使用すれば文字の上に線を出す事もできます。

::afterのcontentを何も指定せずheightの値を低くし、線のように見せています。heightの値を変更することで線の太さを変えられます。