我有这个简单的HTML:
<html>
<body>
<embed src="test.svg" type="image/svg+xml" style="border:3px solid green;width:200px;height:200px;overflow:scroll;">
</body>
</html>
一个简单的SVG:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" style="border:3px solid red;width:500px;height:500px;overflow:auto;">
<circle cx="50" cy="250" r="80" stroke="green" stroke-width="4" fill="yellow" />
</svg>
浏览器的输出:
答案 0 :(得分:1)
只是在embed周围加一个div并将其用作滚动区域......
<html>
<body>
<div style="border:3px solid green;width:100px;height:100px;overflow:scroll;">
<embed src="https://upload.wikimedia.org/wikipedia/commons/e/e9/SVG-Grundelemente.svg" type="image/svg+xml">
</div>
</body>
</html>
&#13;
要匹配MS浏览器的行为,您必须扩展viewBox以包含您希望能够滚动到的所有元素... 给定合适的宽度和高度应该是你想要的......
你也可以使用svgDocuments currentTranslate
和currentScale
属性滚动你自己的缩放和平移解决方案...我很好奇currentTranslate对于这种奇怪的MS行为如何表现......