2016-07-14 18 views
1

私はSVGオブジェクトをコンテナに置いています。クラスには次のCSSがあります。ではなく、より多くのことの200pxの南のようなコンテナの0:SVGの位置:IE 11の絶対

.container{ 
    position: relative; 
} 

.svgObj{ 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 2em; 
    height: 2em; 
} 

ので、問題は、SVGが0で終わるしないということです。

奇妙なことは、私が同じクラスのDIVのSVGタグを代入すると、それが私が望むところに正確に表示されるということです。

問題はIEでのみ明らかです(11回試しただけですが、以前のバージョンでもそうでした)。 問題はミノリにも見られます。 Safari、Chrome、FF、Operaでうまく動作し、IEを除いてbigsです。

ほとんどのアイデアが大歓迎です。そう

<div class="container"> 
<svg class="svgObject" data-x="0" data-y="0" data-text="My Obj" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"> 
    <a id="h-72417" href="#"> 
     <path d="M12 4a8 0z"></path> 
     <path d="M12 4a8 0-16z"></path> 
    </a> 
</svg> 
</div> 

はパス値を気にしないように

HTMLコードが見え、私はスペースを節約するために、ここでそれらを短縮しました。それは問題ではありません。データ属性も関連しません。前述のように、SVGをDIVに切り替えるだけで、パスの代わりに「hello」を追加すると、期待どおりに動作します。

ありがとうございました。

+0

このコードをフィドルに入れようとすると、結果が得られません。あなたの問題を説明する作業スニペットを提供できますか? –

答えて

0

私はこれが古い質問であることを知っていますが、私はこの問題の答えを自分自身で探していたので、私はそれを見つけました。私のために働いた解決策は、preserveAspectRatio="xMinYMin meet"をタグに追加することでした。これは本質的にSVGを応答させ、内容をSVGコンテナの左上にシフトさせます。でも事実の後に、このceindegに答えるためhttp://thenewcode.com/744/Make-SVG-Responsive

1

ありがとう:

は、私はここで答えを見つけました。この問題を持っています他の誰のために

preserveAspectRatio属性よりも、よりよい解決策はただ単にあなたがメインのSVGタグ内widthheightセットを持っていることを確認してくださいにあります。ほとんどのブラウザはそれらを必要としませんが、IEは異なります(もちろん)。