首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SVG中获取ScrollBars?

如何在SVG中获取ScrollBars?
EN

Stack Overflow用户
提问于 2011-12-01 16:24:03
回答 2查看 69.7K关注 0票数 37

我有一个SVG元素,里面有很多元素。SVG-元素有一个viewbox,所以您可以按一个缩放按钮,这些元素看起来更大或更小。效果很好。现在的问题是,当元素溢出父SVG-元素时,不会出现ScrollBars。

示例:

代码语言:javascript
复制
<div width="100%" height="100%">
<svg height="100%" width="100%" style="overflow-x: auto; overflow-y: auto; "viewBox="0 0 793 1122">
<g>
...
<line y2="44.9792mm" y1="44.9792mm" x1="197.203mm" x2="12.7028mm"></line>
<line y2="44.9792mm" y1="44.9792mm" x1="197.203mm" x2="12.7028mm"></line>
<text x="43.4516mm" y="52.9167mm" style="font-size: 11pt;">S</text>
<rect x="0" width="210mm" y="0" height="297mm"></rect>
...
</g>
</svg>
</div>
代码语言:javascript
复制
//here I set the viewbox after clicking the zoomOut-Button
float width = svg.getViewBox().getBaseVal().getWidth();
float height = svg.getViewBox().getBaseVal().getHeight();

svg.getViewBox().getBaseVal().setHeight((float) (height / 0.9));
svg.getViewBox().getBaseVal().setWidth((float) (width / 0.9));

有人能帮我吗?我将溢出放在svg和div标记中。不起作用。

EN

回答 2

Stack Overflow用户

发布于 2012-07-12 09:38:47

尝试使SVG元素大于div,并让div使用滚动处理溢出。

例如,请参阅此小提琴,它使用了以下css:

代码语言:javascript
复制
div#container {
  height: 400px;
  width: 400px;
  border:2px solid #000;
  overflow: scroll;
 }
svg#sky {
  height: 100px;
  width: 1100px;
  border:1px dotted #ccc;
  background-color: #ccc;
}
票数 47
EN

Stack Overflow用户

发布于 2011-12-01 19:15:02

SVG的部分要点是使其能够缩放以适应屏幕。但是,我认为如果您想获得类似您所描述的内容,则需要将显式widthheight设置为svg元素。类似于http://jsfiddle.net/qTFxJ/13/,我将widthheight设置为与viewBox大小相匹配的像素。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8344688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档