SVGSでアニメートすることになると、1つの大きなターンオフがJavaScriptライブラリで停止しているというアイデアになる可能性があります。ただし、これは事実である必要はありません。 CSSは、SVG内の個々のパスの選択を処理して効果を生み出すことができます。基本を知っているだけで、それが平らに変わること、アイコンをもう少し印象的にすることが可能であることを意味することができる。そのため、SVGの最適化とアニメーションの基本的な手順を実行する時が来ました。さまざまな設計に統合されている場合、可能性が無限大であることを認識するのに長い間必要ありません。
動きのインスピレーションのために、Creative Bloqのガイドを見てください。 CSSアニメーションの例 そしてそれらをどのようにコーディングするか。
超早い鳥のチケットで100ポンドを節約する CSSを生成します 、Creative Bloq、Web Designer Magazine、Net Magazineが主催した一日のWeb会議。 ここに本を予約します 。
まず、処理するSVGを作成します。このチュートリアルでは、イラストレーターで作られたシンプルなグラフィックを使用します。 Illustratorを使用してSVGをエクスポートするときは、グラフィックに合うようにアートボードのサイズを減らし、[名前を付けて保存]をクリックします。 SVGオプションダイアログの「Save Save」ドロップダウンメニューからSVGを選択します。
不要なタグを切り取ると、画像を取り扱いやすくなります。これは、コードをお気に入りのエディタにコピーして空のタグやメタデータを削除することで手動で実行できます。あるいは、幻想的なリソースと呼ばれます svgomg. 自動的にこれを行います。 SVGOMGインタフェースの「貼り付けマークアップ」領域にコードを貼り付けてから、右下のボタンを使用して画像をもう一度コピーします。
選択したコードエディタを開き、空白のHTML文書を設定します。呼び出されたファイルにCSSアニメーションを書きます main.css. それでこれを作成してください。物事をアニメーションに焦点を当てたままにするには、BootStrap 4.1.3のCSS専用バージョンにプールしました。
私たちのレイアウトの骨を建てて、私たちのSVGのためにスペースを作りましょう。ヘッダーと2つの列を追加しました。これは、テキストの左側に1つ、そして右側に1つ、それはアニメートするSVGを保持します。ページを招くように、ボディタグの背景として2番目の静的、SVGを使用します。
私達は私達のアニメーションを使ってページの上部に興味深いものを興味深いものにする。最適化されたSVGコードをページの2番目の列に貼り付けます。ブートストラップを使用している場合は、SVGをクラスにしてください IMG流体 携帯電話でスケールスケールを確認する。
SVGにクラスを追加することで、CSSは画像内の個々の形状を選択できます。つまり、画像のさまざまな形状を異なる時間にアニメートでき、より複雑な効果を生み出すことができます。
SVG&GT。
< g>
< rect class = "Rectbackground" width = "147.4107"
height = "68.7917" x = "31.2946" y = "114.1042"
RX = "4.5882" Ry = "3.9565" fill = "#2a7fff" / gt;
CSSのSVG要素を選択することは他の要素と同じです。 SVG内のそれらの要素を選択するためにクラスを使用します。 PAGEがロードされたときにSVGの両方の部分は非表示になりますので、CSSを使用して両方の要素の不透明度を設定しましょう。 0 。
path.rectText {
不透明度:0;
}
rect.rectbackground {
不透明度:0;
効果を実行するように依頼したときにCSSがやりたいことを知っているように、各アニメーションの名前とキーフレームを宣言する必要があります。私は選んだ TextDraw. そして rect rect 、彼らは各アニメーションを説明するように。 rect rect 単純な2ステップのアニメーションになります。 TextDraw. 追加の中間ステップがあります。
@KeyFrames TextDraw {
0%{}
50%{}
100%{}
}
@keyframes rectfade {
から{}
に{}
を追加します rect rect へのアニメーション Rectbackground. 要素とそれに1秒の持続時間を与えます。 an 早く 立方体ベジエはそれに滑らかな感触を与えるために使用されています。我々が追加します 前方 そのため、アニメーションが終了すると、要素は最後のキーフレームのプロパティを保持します。
rect.rectbackground {
不透明度:0;
アニメーション:直線1Sキュービックベジエ(0.645、
0.045,0.355,1)前方。
キーフレームだけで、私たちの長方形のために私たちがする必要があるのは、属性の開始と終了セットを設定します。 Aから始めましょう 1% 幅と終了 100% 「適切な効果を拡大する」を与える。も設定できます 不透明度:1 最後のキーフレームには、形状が同時に衰退します。
@KeyFrames RectFade {
{
幅:1%。
}
{
幅:100%。
不透明度:1;
}
私たちはテキストにラインライン効果を作成してから、塗りつぶしを使用します。テキストアニメーションを設定するために TextDraw. 4回目の期間で。立方体ベジエはこのステップで修正され、それをわずかに異なる動きのペースに与える。
path.rectText {
不透明度:0;
アニメーション:TextDraw 4S
立方-BZIER(.56、-0.04、.32、.7)前方
四角形が1秒の期間が1秒の場合、その時までにテキストアニメーションの開始を遅らせるので、テキストはわかります。四角形にはテキストアニメーションの開始を遅らせます。
path.rectText {
不透明度:0;
アニメーション:TextDraw 4S
立方-BZIER(.56、-0.04、.32、.7)前方
アニメーション遅延:1s;
ライン描画効果を得るために使用します ストローク - ダッシュアレイ そして ストロークダッシュオフセット パラメーター。あなたの値はあなたが使用しているSVGによって私のものとは異なります。あなたの価値を見つけるために、あなたの好みの開発者ツールを使って増加させる ストローク - ダッシュアレイ から 0 全体形が1ストロークで覆われるまで。
path.rectText {
不透明度:0;
ストローク - ダッシュアレイ735;
アニメーション:TextDraw 4S
立方-BZIER(.56、-0.04、.32、.7)前方
アニメーション遅延:1s;
今、私たちはテキストパス全体をカバーする私たちの非常に大きなストロークを持っています、それを効果的に押し出すためにそれを自らの長さでずらしましょう。 using ストロークダッシュオフセット 私たちと同じ価値のために dash dash やるべきです。最初のキーフレームにこれを設定しましょう。また、形状を透明にし、まだストロークを白に設定します。
0%{
充填:RGB(255,255,255,0)。
ストローク:#FFF;
ストロークダッシュオフセット:800;
不透明度:1;
私たちのミドルキーフレームが付属しています 40% アニメーションを通して。私たちは ストロークダッシュオフセット ゼロに戻るので、ダッシュがパス全体をカバーします。この段階で透明な塗りつぶしを再加えることができ、塗りが完了すると塗りつぶしが表示されていることを確認できます。
40%{
ストロークダッシュオフセット:0;
充填:RGB(255,255,255,0.0)。
アニメーションの最後の部分では、白い形を埋めます。最後のキーフレームのためにする必要があるのは、塗りつぶし色のアルファ値を上げます。これにより、塗りつぶしのフェードイン効果が生まれます。
100%{
充填:RGB(255,255,255,1)。
ストロークダッシュオフセット:0;
不透明度:1;
この記事はもともとCreative Web Design Magazineで公開されました ウェブデザイナー 。 問題286を購入する または 申し込む 。
続きを読む: