CSSでborder-spacingプロパティをアニメーションさせる方法
CSSでは、border-spacingプロパティも他のCSSプロパティと同様に@keyframesを使ってアニメーションさせることができます。border-spacingは、表(テーブル)のセル同士の間隔を指定するプロパティです。
border-spacingアニメーションの実装例
以下のコードでは、#newTableに対して3秒間の無限ループアニメーションを設定し、30%の時点でbackground-colorやborder-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-spacingはtable要素にのみ適用され、border-collapse: collapseが指定されている場合は効果がないため注意してください。値は1つだけ指定すると縦横共通の間隔となり、「10px 20px」のようにスペース区切りで2つ指定すると、それぞれ水平方向・垂直方向の間隔になります。
-
CSSのtext-decoration-colorプロパティで下線の色をアニメーションさせる方法
CSSのtext-decoration-colorプロパティは、テキストに表示される下線・上線・取り消し線などの装飾線の色を個別に指定できるプロパティです。この値を@keyframesと組み合わせて変化させることで、下線の色が滑らかに移り変わるアニメーション効果を実現できます。 実装例:text-decoration-colorのアニメーション 以下のコードでは、青い背景のボックスを右へ移動させながら、同時に下線の色をオレンジ色へと変化させています。animationプロパティで「3秒間・無限ループ」の設定にしているため、アニメーションは繰り返し再生されます。 <!DOCTYPE htm
-
CSSのwidthプロパティをアニメーション化する方法
CSSで要素の width(幅)プロパティをアニメーションさせるには、@keyframes ルールと animation プロパティを組み合わせて使用します。幅の変化を滑らかに表現することで、開閉パネルやホバーエフェクトなど、さまざまなインタラクティブな演出が可能になります。実装のポイント@keyframes 内で、アニメーションの途中経過(例:30%)における幅の値を指定します。animation プロパティで、キーフレーム名・再生時間などを設定します。幅は数値(px など)で指定するため、ブラウザは値の補間を行い滑らかなアニメーションを実現します。サンプルコード以下のコードでは、div要素