javascript - SVG 高度缩放不符合预期

标签 javascript css svg flexbox

我有一个两列布局,我想在左边绘制一个 svg,在右边绘制一些元素。我希望 SVG 的高度根据第二列(即右边的一列)的高度进行缩放。为了实现两列布局,我使用了 flex-box css。这是 jsfiddle显示问题。

谁能帮我解决我做错了什么。

    <div class="row">
    <div class="col">
        <svg style="width:100%;height:100%" version="1.1" xmlns="http://www.w3.org/2000/svg">
            <rect width="100%" height="100%" x="0" y="0" fill="#E61875" rx='10' ry='10' />
        </svg>
    </div>
    <div class="col">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad omnis quae expedita ipsum nobis praesentium velit animi minus amet perspiciatis laboriosam similique debitis iste ratione nemo ea at corporis aliquam.</div>
</div>

期望的结果是如果 2nd Div 的高度增加,SVG 的高度也应该增加,同样如果 2nd Div 的高度减少,那么 SVG 的高度应该减少。

我已经更新了 fiddle ,它似乎在 firefox 中工作,但在 chrome 中,它正在将高度设置为 150px 并且没有更改值。我仍然没有找到解决方法。

最佳答案

目前尚不清楚问题出在哪里,因为您的 JSfiddle 不包含 SVG。

要使 SVG 成为列的完整高度,您需要移除填充将 SVG 设置为 display:block

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.row {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}
.col {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border: solid;
}
svg {
  display: block;
}
<div class="row">
  <div class="col">
    <div style="width:60px;height:100%;">
      <svg style="width:100%;height:100%" viewbox="0 0 50 100" version="1.1" xmlns="http://www.w3.org/2000/svg">
        <rect width="100" height="100" x="0" y="0" fill="#E61875" rx='10' ry='10' />
      </svg>
    </div>
  </div>
  <div class="col">
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad omnis quae expedita ipsum nobis praesentium velit animi minus amet perspiciatis laboriosam similique debitis iste ratione nemo ea at corporis aliquam.</p>
  </div>
</div>

此外,尚不清楚最终结果应该是什么样子。我怀疑可能需要进行一些调整。

关于javascript - SVG 高度缩放不符合预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32182840/

相关文章:

jquery - Lightbox2:CSS 设置为显示:无

javascript - 通过其他数组从数组过滤器中删除记录

css - 李 :hover background effect goes behind the parent container's background

javascript - Highcharts 图表未调整大小以填充空间

JavaScript + SVG : get fill when it has been declared outside of a style

javascript - Svg 多边形舍入

Javascript:意外的标记 else

javascript - 无法在 firefox 扩展中加载 oauth.io (oauth.js)

javascript - jquery中基于razor循环的循环

html - 如何在不将整个 SVG 标签放入 HTML 的情况下设置部分 SVG 的样式?