【发布时间】:2016-06-25 15:27:09
【问题描述】:
我已将 SVG 设置为其父容器的 100% 宽度,但是当父容器以响应方式缩放时,SVG 在尝试保持其纵横比时会发生尺寸变化。
在尝试将 SVG 与同级 DIV 对齐时,如本例所示,这是一个问题;
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="100%" viewBox="0 0 480 29.8">
<path style="fill:blue;" d="M480,29.8H0v-18C0,5.3,5.3,0,11.8,0h456.4c6.5,0,11.8,5.3,11.8,11.8L480,29.8L480,29.8z"/>
</svg>
<div class="rect" style="width:100%;background:red;height:100px;"></div>
正如您在更改窗口宽度时看到的那样,DIV 会按预期缩放,而 SVG 的大小会发生变化。 更新小提琴 14/03/16 https://jsfiddle.net/adotellison/euyyze4z/2/
谁能解释为什么会这样?以及如何解决这个问题?
我在 web-kit 浏览器中看到了这个问题。
【问题讨论】:
-
在 Chrome 中未发现问题。你期望发生什么?
-
您可能需要解释“大小颠簸”一词的含义:)
-
我已经更新了 Fiddle,使 SVG 的颜色更亮,因此希望问题会更加明显。我所说的“大小颠簸”是指 SVG,在短时间内没有按比例缩放,然后突然跳到它的新维度。这种情况会以很小的增量发生,给人一种颠簸的感觉。
标签: html css svg responsive-design