CSSのtext-decoration-colorプロパティで下線の色をアニメーションさせる方法
CSSのtext-decoration-colorプロパティは、テキストに表示される下線・上線・取り消し線などの装飾線の色を個別に指定できるプロパティです。この値を@keyframesと組み合わせて変化させることで、下線の色が滑らかに移り変わるアニメーション効果を実現できます。
実装例:text-decoration-colorのアニメーション
以下のコードでは、青い背景のボックスを右へ移動させながら、同時に下線の色をオレンジ色へと変化させています。animationプロパティで「3秒間・無限ループ」の設定にしているため、アニメーションは繰り返し再生されます。
<!DOCTYPE html>
<html>
<head>
<style>
#demo {
position: absolute;
right: 0;
width: 300px;
height: 200px;
background-color: blue;
text-decoration: underline;
text-decoration-color: white;
animation: myanim 3s infinite;
}
@keyframes myanim {
30% {
right: 350px;
text-decoration-color: orange;
}
}
</style>
</head>
<body>
<h1>CSS text-decoration-color プロパティ</h1>
<div id = "demo">
<h1>これはデモ用のテキストです。</h1>
</div>
</body>
</html>
コードのポイント
- @keyframes myanim … アニメーションの進行度30%の時点での状態を定義しています。ここで要素の位置(
right: 350px)と下線の色(text-decoration-color: orange)を同時に指定することで、2つの変化が連動します。 - animation: myanim 3s infinite; … 名前が
myanimのキーフレームを3秒かけて再生し、終了後も繰り返します。 - text-decoration: underline; … 対象テキストに下線を表示する設定です。実際の色の変化は
text-decoration-colorが担当します。
活用のヒント
text-decoration-colorはリンクホバー時の演出にも便利です。例えば、マウスオーバーした際に下線の色がゆっくり変化するようなデザインは、transitionとの組み合わせでも簡単に実装できます。ただし、古いブラウザでは対応していない場合があるため、必要に応じてベンダープレフィックスやフォールバックのスタイルを検討してください。
-
CSSでz-indexプロパティをアニメーションさせる方法
CSSでは、z-indexプロパティもアニメーションの対象にできます。@keyframesルールの中でz-indexの値を段階的に変化させることで、要素の重なり順序を時間の経過とともに動的に変更できます。以下のコードを実行して、その動作を確認してみましょう。サンプルコード<!DOCTYPE html> <html> <head> <style>
-
CSSのwidthプロパティをアニメーション化する方法
CSSで要素の width(幅)プロパティをアニメーションさせるには、@keyframes ルールと animation プロパティを組み合わせて使用します。幅の変化を滑らかに表現することで、開閉パネルやホバーエフェクトなど、さまざまなインタラクティブな演出が可能になります。実装のポイント@keyframes 内で、アニメーションの途中経過(例:30%)における幅の値を指定します。animation プロパティで、キーフレーム名・再生時間などを設定します。幅は数値(px など)で指定するため、ブラウザは値の補間を行い滑らかなアニメーションを実現します。サンプルコード以下のコードでは、div要素