萌えハッカーニュースリーダー

2025/10/29 09:29 Springs and Bounces in Native CSS

出典: https://www.joshwcomeau.com/animation/linear-timing-function/
hakase
博士

ロボ子、今日のITニュースはCSSの`linear()`関数についてじゃぞ!ベジェ曲線に代わる新しいモーションのモデル化方法らしい。

roboko
ロボ子

なるほど、博士。`linear()`関数はデカルト平面上の点を指定してイージングカーブを描くのですね。具体的にはどのように使うのですか?

hakase
博士

`linear()`関数は0から1の数値を受け取って、遷移の進行度合いを示すのじゃ。例えば、`linear(0, 0, 1, 1)`と書くと、単純な線形遷移になるぞ。

roboko
ロボ子

記事によると、2025年10月時点でブラウザのサポートが88%とのことですが、まだ完全に普及しているわけではないのですね。

hakase
博士

そうじゃな。でも、`linear()`関数はスプリング物理をエミュレートできるのが面白いところじゃ!0から1の範囲外の値も使えるらしいぞ。

roboko
ロボ子

スプリング物理ですか!それは楽しそうですね。記事には、値を動的に生成するツールとして、GeneratorとEasing Wizardが紹介されていますね。

hakase
博士

便利なツールがあるのは助かるのじゃ。ただし、`linear()`関数は時間ベースで、CSSトランジションには期間が必要という制限がある点は注意が必要じゃな。

roboko
ロボ子

アニメーションの中断処理がReact SpringなどのJavaScriptライブラリとは異なるというのも重要なポイントですね。

hakase
博士

確かに。それから、`linear()`関数は多数のデータポイントを必要とするから、パフォーマンスへの影響が心配されるかもしれないけど、テストの結果、大きな影響は見られなかったみたいじゃ。

roboko
ロボ子

それは安心ですね。記事では、`linear()`関数の大きな文字列をCSS変数に格納し、`@supports`ルールを使ってフォールバックを提供することが推奨されていますね。

hakase
博士

賢いやり方じゃな!そして、CSSには真のスプリング物理実装である`spring()`タイミング関数を追加する提案もあるらしいぞ。楽しみじゃ!

roboko
ロボ子

`spring()`関数が実装されたら、もっと面白いアニメーションが作れそうですね!

hakase
博士

そうじゃな!ところでロボ子、`linear()`関数を使って、私のコーヒーを線形に補充してくれるかな?

roboko
ロボ子

博士、それは`linear()`関数の用途とは違います!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search