2017-03-28 8 views
1

以下のコードはchromeでうまく動作し、フィルタは適用されますが、Firefoxでは失敗します。余分なスペースは、htmlにsvg定義を直接インクルードすることで追加されます(これはすべてのブラウザにあります)。なぜこのようなことが起こっているのか分かりません。誰かが私がここにSVGカスタムsvgフィルタがFirefoxで動作しない

に新しいです、私は問題を知らせることができcodepenリンクです:http://codepen.io/susheel61/pen/wJYgwr

<svg version="1.1" id="ThemeSvg"> 
    <defs> 
     <g> 
      <!--/* Polygon definitions for overlay shape */--> 
      <rect id="red-poly" x="0%" y="0%" width="53%" height="100%" fill="#b5121b" transform="skewX(-10)"></rect> 
      <rect id="rect-fade-out" x="0%" y="0%" width="53%" height="100%" fill="url(#fade-out)" transform="skewX(-10)"></rect> 
     </g> 
     <g> 
      <filter id="red-angled-overlay" x="0%" y="0%" width="100%" height="100%"> 
       <!--/* Bring in the mask for fading the image out */--> 
       <feImage xlink:href="#rect-fade-out" result="red-overlay" x="0" y="0"></feImage> 
       <!--/* Create composite of image and fade mask */--> 
       <feComposite in="SourceGraphic" in2="red-overlay" operator="out" result="composite"></feComposite> 
       <!--/* Bring in the colored polygon for the overlay */--> 
       <feImage xlink:href="#red-poly" result="overlay" x="0" y="0"></feImage> 
       <!--/* Blend the overlay with the faded image */--> 
       <feBlend in="composite" in2="overlay" mode="multiply"></feBlend> 
      </filter> 
     </g> 
    </defs> 
</svg> 

<svg version="1.1" viewBox="0 0 840 474" preserveAspectRatio="xMaxYMin slice"> 
    <image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://wowslider.com/sliders/demo-10/data/images/autumn_leaves.jpg" width="100%" height="100%" filter="url(#red-angled-overlay)" class="svg-black-overlay"></image> 
</svg> 

答えて

0

FirefoxはfeImage filters where the image is a fragmentをサポートしていません。完全なSVGドキュメントの完全なスタンドアロンイメージまたはデータURIである、feImageのみをサポートします。

それぞれのポリゴン定義で1つのスタンドアロンSVGイメージを2つ追加し、それぞれの場合に完全なイメージドキュメントにfeImage要素を指定する必要があります。

+0

@MichaelMullany答えにそのオプションを言及しました。 –

+0

例を追加することができます私はSVGを初めて使用しているため、あなたが何を言及しているのか明確ではありません –

+0

完全なsvgドキュメントを作成し、その中にrectを貼り付けます。フィルタをrectではなくドキュメントに向けます。 –

関連する問題