CSS
 Computer >> コンピューター >  >> プログラミング >> CSS

CSSでborder-colorプロパティをアニメーション化する方法

CSSでborder-colorプロパティをアニメーション化する方法

CSSでは、@keyframesルールとanimationプロパティを組み合わせることで、要素の枠線の色(border-color)を滑らかにアニメーションさせることができます。キーフレーム内で色を切り替えるタイミングを指定するだけで、シンプルなコードで動的な演出が可能です。

以下は、div要素の枠線の色をグレーから赤へと変化させるアニメーションの実装例です。コードをコピーしてブラウザで実行し、動作を確認してみてください。

サンプルコード

<!DOCTYPE html>
<html>
   <head>
      <style>
         div {
            width: 500px;
            height: 300px;
            background: yellow;
            border: 10px solid gray;
            animation: myanim 3s infinite;
            background-position: bottom left;
            background-size: 50px;
         }
         @keyframes myanim {
            20% {
               border-color: red;
            }
         }
      </style>
   </head>
   <body>
      <h2>枠線の色のアニメーションを実行中</h2>
      <div></div>
   </body>
</html>

コードのポイント

  • animation: myanim 3s infinite; … 3秒間かけて動作する「myanim」というアニメーションを無限に繰り返すよう設定しています。
  • @keyframes myanim … アニメーション開始から20%経過した時点で、border-colorをred(赤)に変更します。その後、元のグレーへ戻りながらループします。
  • border: 10px solid gray; … 初期状態として太さ10px・スタイルsolid・色グレーの枠線を指定しています。

このように、@keyframesの中でborder-colorの値を変えるだけで、JavaScriptを使わずにCSSのみで枠線の色変化アニメーションを実現できます。複数のパーセンテージ(例:0%、50%、100%)を指定すれば、より複雑な色の遷移も簡単に作成可能です。

  1. CSSアニメーションでtransformプロパティをアニメーション化する方法

    CSSを使えば、transform プロパティにも簡単にアニメーションを適用できます。transform をアニメーション化することで、要素の回転・移動・拡大縮小などを滑らかで軽量な演出として表現可能です。ここでは、@keyframes と animation プロパティを組み合わせた基本的な実装方法を解説します。 実装のポイント @keyframes:アニメーションの進行度ごとに適用するスタイル(キーフレーム)を定義します。 animation:アニメーション名や再生時間(duration)などをまとめて指定できるショートハンドプロパティです。 transform:キーフレーム内で rot

  2. CSSアニメーションでvertical-alignプロパティを動かす方法を解説

    CSSのvertical-alignプロパティは、インライン要素やテーブルセル内のコンテンツの垂直方向の位置を揃えるために使われます。実は、このプロパティもCSSアニメーション(@keyframes)と組み合わせることで、滑らかにアニメーションさせることが可能です。以下のサンプルコードでは、画像のvertical-alignの値を3秒かけて変化させるアニメーションを実装しています。アニメーションの途中(50%の時点)で値が120pxに変化するように設定しています。サンプルコード<!DOCTYPE html> <html>    <head>