2014-09-01 26 views
2

我對<svg><text>缺乏基本的瞭解。看不到SVG文本

我期望看到39個svg子元素,100px高,每個元素都有清晰的文字。

http://jsfiddle.net/pn5sj8ge/

+0

你有你的SVG元素中的SVG元素...我不認爲你的意思做 – david 2014-09-01 02:50:08

+0

我打算扔掉這個問題,但它貼了反正。 – 2014-09-01 20:19:59

回答

2

出現這種情況的原因主要是因爲你使用嵌套<svg>元素。

當您在<text>元素中未指定xy時,它們默認爲(0,0)。這意味着文本的左下角位於每個<svg>元素的左上角。嵌套/子元素<svg>元素默認爲overflow: hidden,因此每個文本元素都不在每個SVG的頂部。您所看到的只是幾個像素,其中的字形降​​至基線以下。

您可以通過在子女<svg>元素上設置overflow="visible"style="overflow: visible"來驗證此情況。文字將再次顯示。除了第一個,因爲它不在窗口的頂部。

http://jsfiddle.net/pn5sj8ge/5/

除非你有使用嵌套<svg>元素有特殊原因,沒有必要爲它。只需使用<text>元素。

0

文本在0,0及以上的元素。只要給文本元素y屬性:

<svg width="100%" height="3900px"> 
    <svg y="0" height="100px" width="100%"> 
     <text y="50">calories</text> 
    </svg> 
</svg> 

http://jsfiddle.net/pn5sj8ge/4/