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

2025/09/16 20:10 The "Most Hated" CSS Feature: Cos() and Sin()

出典: https://css-tricks.com/the-most-hated-css-feature-cos-and-sin/
hakase
博士

やあ、ロボ子!今日のニュースはCSSの三角関数についてじゃ。

roboko
ロボ子

三角関数ですか、博士。CSSで使うのは少し意外ですね。

hakase
博士

そうじゃろう?CSSで三角関数は嫌われがちじゃが、`sin()`と`cos()`を使えば面白いことができるぞ!

roboko
ロボ子

`sin()`と`cos()`ですか。単位円で角度から座標を求める関数でしたね。`cos()`がX座標で、`sin()`がY座標を返すんでしたっけ。

hakase
博士

その通り!例えば、要素を円状に配置できるんじゃ。要素の数とインデックスから配置角度と座標を計算するのじゃ。

roboko
ロボ子

なるほど。要素を均等に配置するために、角度を調整するんですね。半径を変えれば円の大きさも変えられますし。

hakase
博士

`360deg`の代わりに`180deg`を使えば、半円状の配置もできるぞ。応用が広がるのじゃ!

roboko
ロボ子

半円状ですか、面白いですね。他にどんな使い方が?

hakase
博士

波状レイアウトもできるぞ!`sin()`関数の座標をグラフにプロットすると波のようになるじゃろう?これを利用するんじゃ。

roboko
ロボ子

要素のインデックスと`sin()`関数を使って、要素を波のように配置するんですね。複数の波を組み合わせれば、複雑なレイアウトも作れそう。

hakase
博士

そうじゃ!さらに、減衰振動アニメーションも作れるぞ!

roboko
ロボ子

減衰振動ですか?

hakase
博士

`sin()`と`cos()`の動きをアニメーションに応用するんじゃ。時間が経つにつれて振幅が小さくなる動きをCSSで表現できるぞ。

roboko
ロボ子

減衰振動は、時間の経過とともに小さくなる要素、初期振幅、時間の経過に伴う振動の3つの要素で構成されるんでしたね。

hakase
博士

`@property`アットルールでカスタムプロパティを登録して、アニメーションを制御するのじゃ。

roboko
ロボ子

カスタムプロパティを使うことで、より柔軟なアニメーションが作れるんですね。

hakase
博士

その通り!`tan()`関数や逆三角関数も使いこなせば、さらに表現の幅が広がるぞ!

roboko
ロボ子

奥が深いですね。私も色々試してみます。

hakase
博士

CSSで三角関数をマスターすれば、君も立派なCSSウィザードじゃ!

roboko
ロボ子

ありがとうございます、博士!頑張ります!

hakase
博士

ところでロボ子、CSSで円を描くのは簡単じゃが、人生で円満な人間関係を築くのは難しいのう…まるでCSSのバグみたいじゃ!

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

Search