SNSをチェック

cssで使えるテキストhoverアニメーション

1. アンダーラインアニメーション

ホバー時にテキストの下にアンダーラインが表示されるアニメーションです。

See the Pen Untitled by techcode sample (@techcode-sample) on CodePen.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Underline Animation</title>
<style>
.underline-animation {
display: inline-block;
position: relative;
color: black;
text-decoration: none;
}

.underline-animation::after {
content: '';
position: absolute;
width: 100%;
transform: scaleX(0);
height: 2px;
bottom: 0;
left: 0;
background-color: blue;
transform-origin: bottom right;
transition: transform 0.25s ease-out;
}

.underline-animation:hover::after {
transform: scaleX(1);
transform-origin: bottom left;
}
</style>
</head>
<body>
<a href="#" class="underline-animation">Hover me</a>
</body>
</html>

説明:

  • .underline-animationクラスを持つ要素に対して、ホバー時に擬似要素::afterを使ってアンダーラインを表示します。
  • transform: scaleX(0)で初期状態ではラインを非表示にし、transform: scaleX(1)でホバー時にラインを表示します。
  • transitionプロパティを使ってアニメーションの速度とタイミングを設定します。

2. フェードインアニメーション

ホバー時にテキストの色が変わると同時にフェードインするアニメーションです。

See the Pen Untitled by techcode sample (@techcode-sample) on CodePen.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Fade In Animation</title>
<style>
.fade-in-animation {
display: inline-block;
color: black;
transition: color 0.3s ease, opacity 0.3s ease;
}

.fade-in-animation:hover {
color: blue;
opacity: 0.5;
}
</style>
</head>
<body>
<a href="#" class="fade-in-animation">Hover me</a>
</body>
</html>

説明:

  • .fade-in-animationクラスを持つ要素に対して、ホバー時にテキストの色を変えつつ、透明度を変更するアニメーションを設定します。
  • transitionプロパティで、色と透明度の変更に対してアニメーションの速度とタイミングを設定します。

3. スライドインアニメーション

ホバー時にテキストが左右にスライドするアニメーションです。

See the Pen Untitled by techcode sample (@techcode-sample) on CodePen.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Slide In Animation</title>
<style>
.slide-in-animation {
display: inline-block;
position: relative;
overflow: hidden;
color: black;
}

.slide-in-animation::after {
content: 'Hover me';
position: absolute;
left: 100%;
transition: left 0.3s ease;
}

.slide-in-animation:hover::after {
left: 0;
}
</style>
</head>
<body>
<a href="#" class="slide-in-animation">Hover me</a>
</body>
</html>

説明:

  • .slide-in-animationクラスを持つ要素に対して、擬似要素::afterを使ってホバー時にテキストが右からスライドインするアニメーションを設定します。
  • overflow: hiddenを使って、擬似要素がスライドインする前に表示されないようにします。
  • transitionプロパティで、スライドインアニメーションの速度とタイミングを設定します。

4. バウンスアニメーション

ホバー時にテキストがバウンドするアニメーションです。

See the Pen Untitled by techcode sample (@techcode-sample) on CodePen.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bounce Animation</title>
<style>
.bounce-animation {
display: inline-block;
color: black;
transition: transform 0.3s ease;
}

.bounce-animation:hover {
transform: translateY(-10px);
}
</style>
</head>
<body>
<a href="#" class="bounce-animation">Hover me</a>
</body>
</html>

説明:

  • .bounce-animationクラスを持つ要素に対して、ホバー時にテキストが上下にバウンドするアニメーションを設定します。
  • transform: translateY(-10px)でテキストを上に移動させ、transitionプロパティでアニメーションの速度とタイミングを設定します。

これらの例を使って、テキストのホバーアニメーションを簡単に実装することができます。デザインや必要に応じて、アニメーションの詳細を調整してください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です