2015-04-14 27 views
-2

在符號中使用textPath不會在Firefox中呈現。它在最新的Chrome和IE中呈現良好,但是當我嘗試引用符號時,svg文本不會在Firefox(37.0.1)中呈現 - 第一個框顯示爲空。使用下面的代碼(無外部依賴關係),應該有兩個框,其中每個中心垂直流動單詞Test使用textPath的SVG不在Firefox中呈現的符號

編輯︰我原本以爲這個問題以某種方式涉及Flexbox佈局,直到Paul指出即使沒有flexbox佈局存在的問題。

的HTML是:

<div> 
    <svg id="not_working" viewBox="0 0 250 1200" preserveAspectRatio="xMidYMid meet"> 
     <symbol id="test_symbol1" preserveAspectRatio="xMidYMid meet" viewBox="0 0 250 1200"> 
      <path id="test_symbol_path" d="M 100 1200 L 100 0" /> 
      <text font-size="100" fill="red"> 
       <textPath text-anchor="middle" startoffset="50%" xlink:href="#test_symbol_path">Test</textPath> 
      </text> 
     </symbol> 
     <use xlink:href="#test_symbol1" /> 
    </svg> 
    <svg viewBox="0 0 250 1200" preserveAspectRatio="xMidYMid meet"> 
     <path id="test_text" d="M 100 1200 L 100 0" /> 
     <text font-size="100" fill="green"> 
      <textPath text-anchor="middle" startoffset="50%" xlink:href="#test_text">Test</textPath> 
     </text> 
    </svg> 
</div> 

而CSS是:

div { 
    height:200px; 
    width: 200px; 
    display: flex; 
    flex:1; 
    flex-direction: row; 
    border: 1px solid red; 
} 
svg { 
    border: 1px solid black; 
    flex-grow: 0; 
    flex-shrink: 1; 
    flex-basis: 50%; 
} 

JS提琴here

回答

1

我不認爲它與flexbox有任何關係。即使您不使用flexbox,<textPath>元素也不會呈現。

參見:https://jsfiddle.net/x7ydw2df/7/

這似乎是關係到textPath在符號之中。請將您的發現報告爲Mozilla上的錯誤。

https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=SVG

+0

謝謝。我已經向他們提交了一個[bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1154729)。 – Gerrat

+0

我前段時間修復過。滾上Firefox 38. –

+0

謝謝@羅伯特。我儘可能地重置我的配置文件,以查看bug是否仍然存在,但沒有安裝每晚構建(直到您將我的bug關閉爲止)。我可以證實它在夜間(耶)固定。 – Gerrat