2016-08-02 9 views
1

私はc3.jsを使用しています。私のコンポーネントはCSSモジュールを使用しています。折れ線グラフの点の塗りつぶしを画像で修正したかったのです。私が追加したスタイルのCSSファイルでCSSモジュールでパターンを定義する - c3.js折れ線グラフの中に画像があるように画像を修正する

render(){ 
    return (
      <div> 
      <defs> 
       <pattern id="image" x="0" y="0" patternUnits="userSpaceOnUse" height="1" width="1"> 
       <image x="0" y="0" src="http://dummyimage.com/20x20/faf2fa/0011ff.png&text=x" /> 
       </pattern> 
      </defs> 
      <C3Chart {...this.getConfig()}/> 
      </div> 
     ); 
} 

- -

container :global(.c3-target-subscriber .c3-circle-5) { 
    fill: url(#image) !important; 
} 

しかし、何も起こらないことについてrenderメソッドで私がDEFS-パターンを追加しました。私はちょうど折れ線グラフのポイントの内側に画像を表示したい。

ご協力いただきまして誠にありがとうございます。

答えて

0

<defs>要素には、HTML要素ではなくSVG要素である親が必要です。

<svg> 
    <defs> 
    <pattern id="image" x="0" y="0" patternUnits="userSpaceOnUse" height="1" width="1"> 
     <image x="0" y="0" src="http://dummyimage.com/20x20/faf2fa/0011ff.png&text=x" /> 
    </pattern> 
    </defs> 
<svg> 

また、あなたのCSSは、グラデーションのIDを持つものを指していますが、パターンのIDはイメージです。

+0

申し訳ありませんが、これで問題は解決しません。それはw.r.t cssモジュールであり、私はこれをcssモジュールでどのように反応させるべきかを知りたがっています。 –

+0

これは確かにあなたの問題の1つを解決します。おそらくあなたは他の人がいるかもしれませんが、あなたは[mcve] –

関連する問題