我有一个没有固定宽度和高度的SVG,它只定义了Viewbox.我有一个弹性容器,里面装着一些子元素的div,里面是svg的.使用Chrome,这很好用,svg是并排放在一起的.但在Firefox中,这些子div的宽度为0px,并且所有的SVG都放在彼此的上面.我如何才能让这些div/svg在Firefox中以与Chrome相同的方式运行?

我try 了在Java脚本中设置div宽度的解决方案,但我更喜欢仅使用css的解决方案.

<div class="container">
  <div class="first">
    <svg viewBox="0 0 100 100">
      <circle cx="50" cy="50" r="50" />
    </svg>
  </div>
  <div class="second">
    <svg viewBox="0 0 100 100">
      <circle cx="50" cy="50" r="50" />
    </svg>
  </div>
</div>
.container {
  display: flex;
  height: 50px;
}

.first {
  background: green;
}

.second {
  background: yellow;
}

svg {
  width: auto;
  height: 100%;
}

推荐答案

您还必须将width: autoheight: 100%添加到父div:

.container {
  display: flex;
  height: 50px;
}

.first {
  background: green;
}

.second {
  background: yellow;
}

svg, .first, .second {
  width: auto;
  height: 100%;
}
<div class="container">
  <div class="first">
    <svg viewBox="0 0 100 100">
      <circle cx="50" cy="50" r="50" />
    </svg>
  </div>
  <div class="second">
    <svg viewBox="0 0 100 100">
      <circle cx="50" cy="50" r="50" />
    </svg>
  </div>
</div>

或者,您可以将SVG直接放入主容器中

.container {
  display: flex;
  height: 50px;
}

.first {
  background: green;
}

.second {
  background: yellow;
}

svg {
  width: auto;
  height: 100%;
}
<div class="container">
  <svg viewBox="0 0 100 100" class="first">
    <circle cx="50" cy="50" r="50" />
  </svg>
  <svg viewBox="0 0 100 100" class="second">
    <circle cx="50" cy="50" r="50" />
  </svg>
</div>

Css相关问答推荐

为什么我的CSS关键帧动画在循环之间稍微暂停?

如何居中对齐容器父对象?

CSS媒体查询不显示所需的输出

InertiaJS - Vue - Laravel:Using CSS Files

在AND设计令牌上使用不同的主题

禁用MUI DataGrid上的悬停效果

当您到达页面底部时,如何使页脚 div 将附加的 div 向上推

将框架放入 bootstrap 模式的正确方法是什么?

内部和外部 div 之间的像素大小的间隙

使用 React-Router 和 Outlet 时如何确保内容保持在下方

如何制作一个居中的标题样式,其中换行符将最长的行排列在底部

你能用 JavaScript 控制 GIF 动画吗?

导航栏中的 Bootstrap 3.0 按钮

CSS媒体查询仅针对iPad和iPad?

透明的空心或切出的圆圈

让 div 占据 100% 身体高度,减go 固定高度的页眉和页脚

如何将文本向左旋转 90 度并根据 html 中的文本调整单元格大小

在 CSS 中使用多个 @font-face 规则

对象拟合不影响图像

height: 100% 或 min-height: 100% 用于 html 和 body 元素?