【发布时间】:2018-07-04 07:00:55
【问题描述】:
是否可以更改最外层svg 的大小但保留svg 内部所有内容的大小?
我无法在 Internet 上找到解决方案。
为了避免x-y problem,我将描述我的用例。
我有一个
div。div有overflow-y: scrollable。所以,这意味着当我最外层的svg(它是div的直接子代)将变得大于div时,我将能够滚动查看整个svg。首先将
svg的width和height属性设置为100%。当有必要时,我会垂直缩放
svg(即我正在增加视口),当svg不适合div时,我会得到一个不错的滚动条。问题是
svg中的所有内容都与svg相关,当svg被缩放时,内容也会被缩放,我想避免内容缩放。
我考虑过使用viewBox 并在svg 缩放时更改它,但我最初没有viewBox,所以我不能这样做。
尝试使用viewBox 解决问题未成功,因为viewBox 属性会影响其他svgs。
这是我的svg 没有应用viewBox 属性:
这是我的svg 应用viewBox 属性:
这里是上面的svg,和下面的svg没有任何关系,但是在下面svg的viewBox属性改变后还是会受到影响:
【问题讨论】:
-
不明白为什么不能添加viewBox
-
@RobertLongson,因为某些原因它会影响另一个
svg。我将更新我的问题以反映这一点。 -
我想我们在这里需要一个minimal reproducible example。你能在问题中添加一个吗?
-
当您说“受影响”时,您的意思是较低的页面会向下移动一点吗?
-
@PaulLeBeau,是的,我就是这个意思。
标签: javascript html css d3.js svg