2016-12-08 21 views
0

私はreactを使用してレンダリングしていますが、div内にSVGを返しています。私のコードは次のようになりますように内部のSvgが中央に揃っていない

render() { 
    return(
     <div class="myClass"> 
      <svg> ... </svg> 
     </div> 
    ); 
} 

私のCSSクラスに見える:それはChromeとFirefoxで完全に正常に動作

.myClass{ 
    margin-left: auto; 
    margin-right:auto; 
} 

、SVGが左側に表示されず、そのIEが揃っセンター。 IEに追加するCSSプロパティがいくつか必要ですか?

+0

バージョンは何? – Dom

+0

あなたのsvg要素は幅と高さのCSSプロパティまたは属性を持っていますか? IEはそれらを必要とするのは難しいです。 –

+0

はい、あります。実際には、高さ、幅、およびviewBox属性が設定されています。 @Dom:IE 11 – chrisrhyno2003

答えて

0

解決しました。奇妙なことに、IEはSVGをテキストのように扱います。 私はCSSクラスにセンターアライメントを追加しました。

私のソリューションでした:IEの

.myClass{ 
    margin-left: auto; 
    margin-right:auto; 
    text-align: center; 
} 
+0

これは、SVGがデフォルトでインラインになっているために、テキストアライメントが機能する理由です。 'display:block;'や他の非インラインプロパティを追加することは、本質的に同じことです。 – chazsolo

+0

私は以前にdisplay:blockオプションを試していましたが、どういうわけか特定の変更が表示されませんでした。 – chrisrhyno2003

+0

私は[類似の質問](http://stackoverflow.com/questions/36937467/ie-is-centering-my-svg/36937727#36937727)に答えました。うまくいけば助けてくれます。ブラウザの完全な互換性をお探しの場合は、必要な部分(高さ、幅、ビューボックス、ディスプレイ設定など)をすべて手に入れておいてください。 – chazsolo

関連する問題