如果我有一个超出 SVG 大小的 SVG 元素,我的浏览器中会出现滚动条。我想将 SVG 控件拉伸为可见区域的大小,并且我不希望部分可见的元素导致滚动条出现在页面上。
我把它提炼成一个简单的例子。这是我的 HTML 文档正文中的内容:
<svg width="200" height="200">
<defs>
<clipPath id="clippath">
<rect x="0" y="0" width="200" height="200" />
</clipPath>
</defs>
<g clip-path="url(#clippath)">
<rect x="100" y="50" width="2000" height="50" style="stroke: red; stroke-width: 5; fill: lightblue" />
</g>
</svg>
如您所见,SVG 元素被定义为 200x200,并且明显裁剪为 200x200。但是,当您在浏览器中打开它时,您会看到一个滚动条,因为矩形超出了 SVG 元素的末端并离开了页面。
如何摆脱滚动条?本质上,我想将 SVG 裁剪到剪辑路径。
更新:这似乎只是 IE 中的一个问题。Firefox 和 Chrome 以我喜欢的方式呈现它。