【发布时间】:2015-11-17 21:48:12
【问题描述】:
我有一个两列布局,我想在左边画一个 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 的高度也应该降低。
我已经更新了小提琴,它似乎在 firefox 中工作,但在 chrome 中,它将高度设置为 150px 并且不更改值。我仍然没有找到解决方法。
【问题讨论】:
-
你可能想通过 JS 在 SVG 和 RECT 上设置 height 属性
-
@maioman,我需要找到第二个 div 的计算高度并更新第一个 div 和 SVG 的高度。我实际上是在尝试在 Angular 中开发一个自定义指令,但没有找到一种可靠的方法来找到计算高度(offsetHeight),所以我正在尝试基于 css 的解决方案。
标签: javascript css svg flexbox