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

CSSでborder-spacingプロパティをアニメーションさせる方法

CSSでは、border-spacingプロパティも他のCSSプロパティと同様に@keyframesを使ってアニメーションさせることができます。border-spacingは、表(テーブル)のセル同士の間隔を指定するプロパティです。

border-spacingアニメーションの実装例

以下のコードでは、#newTableに対して3秒間の無限ループアニメーションを設定し、30%の時点でbackground-colorborder-right-widthとともにborder-spacingが50pxへ変化するようにしています。実際にブラウザで実行して、セル間の間隔が滑らかに変化する様子を確認してみてください。

<!DOCTYPE html>
<html>
   <head>
      <style>
         table, th, td {
            border: 1px solid green;
         }
         #newTable {
            width: 500px;
            height: 300px;
            background: yellow;
            border: 15px solid yellow;
            animation: myanim 3s infinite;
            background-position: bottom left;
            background-size: 50px;
         }
         @keyframes myanim {
            30% {
               background-color: orange;
               border-right-color: red;
               border-right-width: 25px;
               border-spacing: 50px;
            }
         }
      </style>
   </head>
   <body>
      <h2>border-spacingのアニメーション</h2>
      <table id = "newTable">
         <tr>
            <th>科目</th>
            <th>学生</th>
            <th>点数</th>
         </tr>
         <tr>
            <td>数学</td>
            <td>Amit</td>
            <td>98</td>
         </tr>
         <tr>
            <td>理科</td>
            <td>Sachin</td>
            <td>99</td>
         </tr>
      </table>
   </body>
</html>

コードのポイント

  • @keyframes myanim: アニメーションの進行状況を定義します。ここでは全体の30%の時点でのスタイルを指定しています。
  • animation: myanim 3s infinite: 定義したキーフレームを3秒かけて再生し、無限に繰り返すよう設定しています。
  • border-spacing: 50px: セル間の間隔を50pxまで広げることで、表が視覚的に「開く」ようなアニメーション効果が得られます。

なお、border-spacingtable要素にのみ適用され、border-collapse: collapseが指定されている場合は効果がないため注意してください。値は1つだけ指定すると縦横共通の間隔となり、「10px 20px」のようにスペース区切りで2つ指定すると、それぞれ水平方向・垂直方向の間隔になります。

  1. CSSのtext-decoration-colorプロパティで下線の色をアニメーションさせる方法

    CSSのtext-decoration-colorプロパティは、テキストに表示される下線・上線・取り消し線などの装飾線の色を個別に指定できるプロパティです。この値を@keyframesと組み合わせて変化させることで、下線の色が滑らかに移り変わるアニメーション効果を実現できます。 実装例:text-decoration-colorのアニメーション 以下のコードでは、青い背景のボックスを右へ移動させながら、同時に下線の色をオレンジ色へと変化させています。animationプロパティで「3秒間・無限ループ」の設定にしているため、アニメーションは繰り返し再生されます。 <!DOCTYPE htm

  2. CSSのwidthプロパティをアニメーション化する方法

    CSSで要素の width(幅)プロパティをアニメーションさせるには、@keyframes ルールと animation プロパティを組み合わせて使用します。幅の変化を滑らかに表現することで、開閉パネルやホバーエフェクトなど、さまざまなインタラクティブな演出が可能になります。実装のポイント@keyframes 内で、アニメーションの途中経過(例:30%)における幅の値を指定します。animation プロパティで、キーフレーム名・再生時間などを設定します。幅は数値(px など)で指定するため、ブラウザは値の補間を行い滑らかなアニメーションを実現します。サンプルコード以下のコードでは、div要素