JavaScript に依存せず、純粋な CSS を使用して 基本: SVG には比較的重要な属性ブランチ 1. なし <色> 現在の色 2. 3.stroke 4.stroke 5.stroke なし <ダシャレイ> 継承する 7.stroke 8.stroke このチュートリアルに関連するアニメーション効果は ストロークダシャアレイとストロークダッシュオフセット 便宜上、また干渉を減らすために、次のように直線で栗を揚げてみましょう。 以下のスライダーをクリック(または値入力)して、次の操作を体験してください。 ストローク-ダッシュ配列: ストローク-ダッシュオフセット: HTML コードは次のとおりです。 <svg id="svgForStroke" 幅="400" 高さ="200" xmlns="http://www.w3.org/2000/svg"> <g> <line fill="none"stroke="#000000"stroke-width="5"stroke-dasharray="null"stroke-linejoin="null"stroke-linecap="round" x1="0"y1="90"x2="400"y2="90"/> </g> </svg> スライダーを動かすと(またはテキストボックスに入力すると)、setAttribute メソッドを通じて <line> ノード要素のstroke-dasharray 値とstroke-dashoffset 値が設定され、上記の効果が得られます。 特別なケース ここで考えてみましょう。stroke 中国語で説明すると、ソーセージの長さは12cmで、15cm間隔で点線を引くことになります。 ここで 両方のスライダーを右にスライドし、次にスライダーをゆっくりと左にスライドします (type=range をサポートするブラウザを使用してください)。ゆっくりと直線が表示されます。これが SVG パス アニメーションの原理です。 CSS3 インライン SVG の強みは、従来の高さや幅の配置、境界線や背景色などを処理しながら、CSS 属性で制御できる HTML 要素でもあるという点にあります。SVG 自体のいくつかの特殊な属性も、CSS3 したがって、上で説明した SVG ストローク アニメーション効果は、JavaScript を使用せずに CSS3 CSS コードは次のとおりです。 パス { ストロークダッシュ配列: 1000; ストロークダッシュオフセット: 1000; アニメーション: ダッシュ 5 秒 直線 無限; } @keyframes ダッシュ { に { ストロークダッシュオフセット: 0; } } 1000 には特別な意味はありません。各パスの長さよりも大きいことを確認するのに十分な大きさです。1500 も使用できますが、違いはストロークの速度が少し速くなることです。 CSS3 アニメーション プロパティに詳しい人なら、上記のコードの意味を一目で理解できるはずです。5 秒のアニメーションでは、stroke-dashoffset が 1000 から 0 に変化します。ストローク アニメーションが形成されます。 上記の CSS コードはほぼ普遍的です。 SVG パスがどんなに複雑であっても、そのストロークをアニメーション化できます。私の独自のテストによると、IE10+ ではアニメーション効果はありません。これは、CSS が SVG のストロークに関連する属性をサポートしていないためではなく、アニメーションがストロークに関連する属性のアニメーションをサポートしていないためです。 上記のエフェクトの用途は何でしょうか? 次のようなシナリオを思いつきました。デモンストレーション中にいくつかの重要なポイントを段階的に表示する、写真にホバー ストローク エフェクトを適用する、Web サイトのヒント項目に矢印ガイダンス エフェクトを適用するなど、いずれも非常に便利です。 パスの長さ パス、または線の正確な長さを知りたい場合。次のコードのような JavaScript を使用する必要がある場合があります。 var パス = document.querySelector('パス'); var 長さ = path.getTotalLength(); 参考文献 ポリゴンフィーチャーデザイン: 楽しみと利益のための SVG アニメーション SVG でベクターをアニメーション化する SVG ラインアニメーションの仕組み SVG でのアニメーション線画 W3 – ストロークのプロパティ チュートリアルの転送元: https://www.zhangxinxu.com/wordpress/2014/04/animateion-line-drawing-svg-path-%e5%8a%a8%e7%94%bb-%e8%b7%af%e5%be%84/ 要約する 上記は、CSS3 を使用して SVG パス ストローク アニメーション効果を実現する方法の入門チュートリアルです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 |
<<: HTM と HTML の違いは何ですか? HTM と HTML の違いは何ですか?
>>: Dockerはクロスプラットフォーム機能を実現するためにnet5プログラムを導入
Ubuntu 20.04はnetplanを通じてネットワークを管理するため、以前のバージョンとは少...
1. my.iniファイルにskip-grant-tablesを追加し、MySQLサーバーを再起動し...
今日は、タブ バーをクリックして切り替えるという目的を実現するために、js と jQuery を使用...
序文この記事では主に、MySQL ストレージ テーブル エラー「java.sql.SQLExcept...
ユニアプリアプレットはWeChatでも同様のドロップダウン問題を抱えることになる解決策は、app.v...
IE、Firefox、Chrome ブラウザでの表示効果は、...
イメージのバージョンとタグを確認するには、docker hubで確認する必要があります。アドレスは次...
ポップアップは、現在のウィンドウにメニューツールバーがあるかどうかとは関係ありません。ページにスクリ...
1. nginxをダウンロードする [root@localhost my.Shells]# dock...
最近のプロジェクトでは、多くのフォーム、特にチェックボックスとラジオボタンの作成が含まれます。しかし...
書き順の重要性ブラウザのリフローを減らし、ブラウザのDOMレンダリングパフォーマンスを向上させる①:...
これまでは、拡張子が .msi のファイル、つまり、完全なインストールが使用されていました。しかし、...
MySQL では、テーブル名の大文字と小文字の区別の問題が発生する可能性があります。実際、これはプラ...
この記事では、参考までに、加算計算機を実装するためのJavaScriptの具体的なコードを紹介します...
DockerイメージからDockerfileを取得する docker 履歴 --format {{....