クラスを SVG 要素に追加するには、2 つの方法があります

公開: 2023-02-08

クラスを SVG 要素に追加するには、2 つの方法があります。 最初の最も明白な方法は、単純に className 属性を使用することです: var mySvg = document.querySelector('#my-svg'); mySvg.className = '私のクラス'; これは、1 つのクラスのみを処理する場合には問題なく機能しますが、複数のクラスを追加する必要がある場合は、classList API を使用する必要があります。 mySvg.classList.add('my-class'); mySvg.classList.add('別のクラス'); クラスを削除する必要がある場合は、classList.remove() メソッドを使用できます。 mySvg.classList.remove('my-class'); 最後に、クラスを切り替える必要がある場合 (つまり、存在しない場合は追加し、存在する場合は削除します)、classList.toggle() メソッドを使用できます: mySvg.classList.toggle('my-class') ;

ドキュメント オブジェクト モデル (DOM) を使用して、HTML と SVG の両方を表すことができます。 その結果、Javascript を使用してそれらを操作するのは比較的簡単です。 このレッスンでは、インライン SVG と外部 SVGの両方を使用する方法について説明します。 GitHub は、このページの上部にあるさまざまなコード例を提供しています。 同じコードを使用して外部 SVG を作成すると、要素のコンテンツを SVG 自体で使用できます。 SVG は、その中に埋め込まれた HTML ドキュメントにアクセスできないため、ページ上の他の SVG を表示できません。 コードを CDATA でラップすると、XML 解析は JS コードを XML の一部と見なします。

要素の作成と削除は、場所が異なるだけで同じことです。 関連するドキュメントの createElementNS() メソッドを使用して、関連するドキュメントのタグ名と名前空間を渡して要素を作成します。 要素を削除するには、createTextNode() を使用して別のテキスト ノードを作成し、それを要素に追加する必要があります。 それらは同じドキュメントにないため、このように使用できます。

class 属性は、次のクラス名を svg> タグに割り当てます: class、class、および class。 クラス名を定義するときは、スタイルシートまたはスタイル名を持つローカル要素を使用します。 スタイルは、クラス名などのクラスを使用して作成されます。

要素のスタイリングに関しては、HTML は要素固有の「スタイル」および「クラス」属性、さらに HTML のクラスおよびスタイル属性をサポートしています。 'class' 属性は要素に名前を割り当て、スタイリング言語で要素をアドレス指定するために使用されます。 スタイル属性は、CSS 宣言を指定するために要素によって使用されます。

HTML コードのプロパティと値は、SVG の CSS プロパティと値に格納されます。 HTML プロパティに非常によく似た例がいくつかあります。

Svg にクラスを配置できますか?

Svg にクラスを配置できますか?
画像ソース: https://pinimg.com

svg にクラスを入れることも可能ですが、一部のブラウザで問題が発生する可能性があるためお勧めしません。

SVG に HTML 名前空間を追加すると、CSS を使用して要素のスタイルを設定し、*foreign object プロパティを使用して SVG を読み込むことができます。これにより、表示方法が変更されます。

Svgs を使用してグラフィック デザインを整理する

SVG ファイルには、「*svg」というラベルの付いた最大 3 つの要素を含めることができます。 グラフィック デザインを論理的なグループに整理するプロセスも簡単です。

Javascript を Svg に適用できますか?

HTML でインライン化できるため、 SVG 画像は JavaScript を使用して操作できます。 コードから画像の一部をアニメーション化し、データ駆動型のインタラクティブな環境に変換し、データに基づいてグラフィックスを生成できます。

DRY は、コードをより速く、より堅牢にし、作成にかかる時間を短縮するための優れた方法です。 IE では、グローバル イベント オブジェクトに依存する必要はありません。 イベント オブジェクトをイベント ハンドラに設定します。 x 変数と y 変数が変更されているため、それらの属性をさらに変更する必要はありません。 上記の keydown および ASCII イベント コードは、keypress の代わりに奇数と keydown を使用した場合、すべてのブラウザーで機能します。 AddEventListner() を使用して、イベント ハンドラの onfoo= * 属性のみを使用してイベント ハンドラを要素に関連付けることができます。これには、何が起こるべきかを記述するのに onfoo= * 属性を使用する必要はありません。 外側の関数はページが読み込まれた後にのみ実行されるため、要素を参照する必要はありません。

要約すると、このデモ中に注意すべき点がいくつかあります。 svg> タグは、SVG 画像を生成するために使用されます。 SVG イメージでは、タグが使用されます。 svg タグは body 要素内にあります。 タグは要素内にあります。 *svg> タグを参照するために識別子が使用されます。 タグがある場合は、属性を使用して参照します。 svg> タグのアニメーション属性は「イーズアウト」に設定されています。 属性 easeOut をそれに設定する必要があります。 svg> タグには、100%、100% に設定された幅と高さの属性があります。 次のコードは、SVG を使用して画像を作成し、アニメーション属性 aseaseout を定義します。 XML xmlns=” http://www.w3.org/2000/svg” width=100% height=100% id=demo-svg 形式として svg が使用できます。 SVG ファイルをマウスでクリックして操作することもできます。 このメソッドは、新しい要素を作成し、それを body 要素に挿入してから残すことによって実現されます。 次のコードを要素に追加すると、svg ファイルが読みやすくなります。 svg> を基本フォーマットとして使用できます。 *use xlink:href このページには次の URL からアクセスできます: */svg. そうすることで、SVG にクリック可能なポイントを作成できます。 ポイントを 2 回クリックすると、ユーザー インターフェイスにアクセスできます。 SVG の対話機能にはどのような用途がありますか? さまざまなアニメーションをインタラクティブにすると同時に、ユーザーが開始することもできます。 ユーザーが SVG 画像をクリックすると、リアルタイムのように見えるアニメーションが生成されます。 Web サイトをインタラクティブに見せる 3 つ目の方法は、インタラクティブな SVG グラフィックスを使用することです。これを使用して、ユーザーとサイトの間にリアルタイムのインタラクティブな錯覚を加えることができます。 インタラクティブな SVG 画像を作成するには、まず svg> タグを使用します。 次に、*svg を含める必要があります。このステップでは、アニメーション属性 easeOut を指定する必要があります。 すべてが正しく設定されていれば、Web ページはデモに表示されているものとまったく同じに見えます。 このデモを視聴する際に留意すべき点がいくつかあります。 まず、svg> タグの後に画像を続ける必要があります。 追加する 2 番目の要素は、body 要素内の HTML タグ「svg」です。

Svg を使用すべき理由

SVG 形式では、XML およびベクター画像が使用されます。 これは、劣化を引き起こすことなくサイズを変更でき、解像度に依存しないことを意味します。 CSS や JavaScript を使用して、SVG を簡単に操作およびアニメーション化できます。 その結果、SVG を使用すると、(JPG、JPEG、および PNG ではなく) ページの読み込み時間が短縮されます。 JavaScript は、開始タグと終了タグの間の SVG ドキュメント内の任意の場所に追加できます。 ブロックを防ぎ、DOM に完全にアクセスできるようにするために、スクリプトをドキュメントの最後に配置することをお勧めします。 SVG 画像を HTML ドキュメントに直接書き込みたい場合は、*svg VS コードまたは好みの IDE で SVG 画像を開き、それをコピーして、HTML の body 要素に貼り付けるコードを使用して行うことができます。書類が必要です。 すべてが順調に進んだ場合、以下のデモは同じように見えるはずです。