【问题标题】:Svg inside not aligning to centerSVG内部未对齐到中心
【发布时间】:2017-04-24 07:40:42
【问题描述】:

我正在使用 react 和渲染,我在 div 中返回一个 SVG。我的代码如下所示:

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

我的 CSS 类看起来像:

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

它在 Chrome 和 firefox 中运行良好,它的 IE 中 svg 显示在左侧而不是居中对齐。 IE 是否需要添加更多 CSS 属性?

【问题讨论】:

  • 什么版本的IE?
  • 您的 svg 元素是否具有宽度和高度 CSS 属性或属性? IE 对这些要求很挑剔。
  • 是的,确实如此。它实际上设置了高度、宽度和 viewBox 属性。 @Dom:IE 11
  • 请用MCVE 更新您的问题,以便我们自己了解发生了什么。

标签: html css reactjs svg


【解决方案1】:

解决了。奇怪的是,IE 将 SVG 视为文本。 我在我的 CSS 类中添加了一个中心对齐,它起作用了。

我的解决方案是:

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

【讨论】:

  • 这是因为 SVG 默认是内联的,这就是 text-align 起作用的原因;添加display: block; 或其他一些非内联属性本质上是相同的。
  • 我之前尝试过 display:block 选项,但不知何故它没有显示任何具体的变化。
  • 我回答了similar question here。希望这会有所帮助。如果您正在寻找完整的浏览器兼容性,最好准备好所有您需要的部分(高度、宽度、viewBox、显示设置等)
  • @chazsolo:谢谢!
猜你喜欢
  • 1970-01-01
  • 2019-07-12
  • 2016-08-31
  • 2014-06-09
  • 1970-01-01
  • 2020-08-23
  • 2013-05-30
  • 1970-01-01
  • 2019-01-06
相关资源
最近更新 更多