CSSでborder-bottomプロパティをアニメーションさせる方法
CSSでは、border-bottomプロパティも@keyframesルールとanimationプロパティを組み合わせることで、滑らかにアニメーションさせることができます。ボーダーの太さ・スタイル・色が時間の経過とともに変化する演出は、要素を目立たせたい場合やページに動きを加えたい場合に便利です。
実装サンプル
以下のコードでは、div要素の下部ボーダーが3秒間のアニメーションで変化します。キーフレームの20%時点で、ボーダーが「25px・solid・オレンジ色」へと変化する仕組みです。コードをコピーしてブラウザで実行してみてください。
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 500px;
height: 400px;
background: yellow;
border: 5px dashed yellow;
background-image: url('https://www.tutorialspoint.com/latest/microservice_architecture.png');
animation: myanim 3s infinite;
background-position: bottom left;
background-size: 50px;
}
@keyframes myanim {
20% {
background-color: maroon;
background-position: bottom right;
background-size: 90px;
border-bottom: 25px solid orange;
}
}
</style>
</head>
<body>
<h2>Performing Animation for bottom border</h2>
<div></div>
</body>
</html>
コードのポイント
- @keyframes myanim:アニメーションの中間状態を定義するルールです。ここでは進行率20%の時点でのスタイルを指定しています。
- animation: myanim 3s infinite:定義したキーフレーム「myanim」を3秒かけて再生し、
infiniteにより無限に繰り返します。 - border-bottom: 25px solid orange:初期状態の「5px dashed」から、太さ25px・実線・オレンジ色の下部ボーダーへと変化します。
- background関連プロパティ:背景色・背景位置・背景サイズも同時にアニメーションしており、複数プロパティを1つのキーフレームでまとめて制御できることがわかります。
このように@keyframes内にborder-bottomの目標値を記述するだけで、特別なJavaScriptを使わずに純粋なCSSだけでボーダーのアニメーションが実現できます。
-
CSSのwidthプロパティをアニメーション化する方法
CSSで要素の width(幅)プロパティをアニメーションさせるには、@keyframes ルールと animation プロパティを組み合わせて使用します。幅の変化を滑らかに表現することで、開閉パネルやホバーエフェクトなど、さまざまなインタラクティブな演出が可能になります。実装のポイント@keyframes 内で、アニメーションの途中経過(例:30%)における幅の値を指定します。animation プロパティで、キーフレーム名・再生時間などを設定します。幅は数値(px など)で指定するため、ブラウザは値の補間を行い滑らかなアニメーションを実現します。サンプルコード以下のコードでは、div要素
-
CSSアニメーションでtransformプロパティをアニメーション化する方法
CSSを使えば、transform プロパティにも簡単にアニメーションを適用できます。transform をアニメーション化することで、要素の回転・移動・拡大縮小などを滑らかで軽量な演出として表現可能です。ここでは、@keyframes と animation プロパティを組み合わせた基本的な実装方法を解説します。 実装のポイント @keyframes:アニメーションの進行度ごとに適用するスタイル(キーフレーム)を定義します。 animation:アニメーション名や再生時間(duration)などをまとめて指定できるショートハンドプロパティです。 transform:キーフレーム内で rot