ホームページ > ウェブフロントエンド > CSSチュートリアル > SVG パターンを使用して、ホバー時に D3 サークルに画像を追加する方法

SVG パターンを使用して、ホバー時に D3 サークルに画像を追加する方法

Mary-Kate Olsen
リリース: 2024-11-24 20:52:13
オリジナル
340 人が閲覧しました

How to Add an Image to a D3 Circle on Hover Using SVG Patterns?

パターンを使用して D3 サークルに画像を追加する

D3 の既存のサークルに画像を追加しようとすると、画像を追加できません。単純な塗りつぶし属性を使用する場合、円のレンダリングとマウスオーバー イベントへの応答にもかかわらず、ホバー後に表示されます。

Toこれを解決するには、SVG のパターンを利用する必要があります。パターンは画像の位置と拡大縮小を定義します。以下に例を示します。

<svg>
ログイン後にコピー

D3 では、パターンを使用するように円の塗りつぶしを変更できます。

svg.append("circle")
  .attr("class", "logo")
  .attr("cx", 225)
  .attr("cy", 225)
  .attr("r", 20)
  .style("fill", "transparent") // Make the circle transparent to display the image
  .style("stroke", "black")
  .style("stroke-width", 0.25)
  .on("mouseover", function() {
    d3.select(this)
      .style("fill", "url(#image)");
  })
  .on("mouseout", function() {
    d3.select(this)
      .style("fill", "transparent");
  });
ログイン後にコピー

このコードは、SVG に円を追加し、その塗りつぶしのスタイルを設定します。透明であるため、パターンの画像が見えるようになります。円の上にマウスを置くと塗りつぶしが変化して画像が表示され、マウスアウトすると塗りつぶしが透明に戻ります。

以上がSVG パターンを使用して、ホバー時に D3 サークルに画像を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート