線形勾配のアニメーション:ガイド
イントロ
div {
width: 100px;
height: 100px;
background-image: linear-gradient(-45deg, peru, papayawhip);
transition: 0.5s;
}
div:hover{
background-image: linear-gradient(-45deg, peru, peru);
transition: 0.5s;
}
このコードは何が悪いのですか.グラデーションからソリッドフィルまで、きれいで、濃い、グラデーションのアニメーションを作るべきです.うまくいくはずですね.
間違い
background-image is not animatable.
何が開発者ですか?私は私のベッドに横たわって、可能性を考慮しました.JavaScriptのDOM関数を使うことができましたbackgroundImage
そして、テンプレートリテラルは色を変更します.私はRGBをCMYK関数に使用し、RequestAnimationフレームを呼び出します.または、私はそれを調べることができました.
見つけたthis.
このスタックオーバースレッドが示唆するものは、基本的にbackground-size
“200 % 200 %”(私は、ターゲットウィンドウの2倍の大きさを仮定してください)とパーセントbackground-position
.
クール!しばらくの間ドキュメントを読んでいたので、以下のように考えました.
仮定するlinear-gradient(145deg, red, blue)
, もちろん.
スタックオーバーフローコードと背景位置に関する私の新たな知識から、私は私のステップを持っていました.
div {
width: 100px;
height: 100px;
background-image: linear-gradient(-45deg, peru, papayawhip);
transition: 0.5s;
}
div:hover{
background-image: linear-gradient(-45deg, peru, peru);
transition: 0.5s;
}
50% 50%
) それで、それは同じように見えました100% 100%
or 0% 0%
それをより青いかより赤に見えるようにしかし、あなたがおそらく言うことができるように、それは完璧ではない
100% 100%
まだいくつかの赤い色合いがあり、青色の背景には、このdivは間違いなく目立つ.また、200 %のバックグラウンドサイズと50 %のバックグラウンド位置を組み合わせることで、わずかにグラデーションを変更します.私のような完璧な執拗な開発者は何ですか?過度のブレーンストーミングの後、私はこれらのものを考え出しました:
background-size
生きているred, blue, blue
つの角で完全に青い部分を作ります.*ホバーでは、これらのことを行います.
blue blue
勾配の一部
そしてここにある!純粋なCSSで首尾よくアニメーション線形勾配.
役に立つ?混乱?思考コメントを残してください!
Reference
この問題について(線形勾配のアニメーション:ガイド), 我々は、より多くの情報をここで見つけました https://dev.to/carlyraejepsenstan/animating-linear-gradient-a-guide-2l04テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol