问题:Safari不是在打球,而是用滚动条呈现我的SVG图像。Safari滚动条和SVG
问题的改进版本:“如何获得填充设置宽度并根据Safari中的高宽比计算高度?” (感谢Phrogz)
相关的代码:
SVG文件
viewBox="0 0 800 800"
(没有指定的高度或宽度)
.objectwrapper {
max-width: 600px;
min-width: 150px;
margin-right: auto;
margin-left: auto;
}
.objectdiv {
max-width: 60%;
margin-right: auto;
margin-left: auto;
display: block;
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5" />
<meta http-equiv="expires" content="0" />
</head>
<body>
<div class="objectwrapper">
<div class="objectdiv">
<object type="image/svg+xml" data="question0optimize1.svg" width="100%" height="100%">
</object>
</div>
</div>
</body>
</html>
在所有吨他尝试过的其他浏览器可以很好地平滑缩放窗口大小并按Ctrl + Zooming。但Safari提供了更小的svg和滚动条。我究竟做错了什么?
请注意,您在HTML元素上声明了XHTML名称空间,但是它是HTML4 DOCTYPE。 (而且你的内容显然不是XHTML,就像未封闭的'meta'标签一样。) – Phrogz 2012-04-05 14:54:56
@Progrog谢谢,我会更新文档类型。为了解这个问题的实际效果,我会在这里看看它(如果人们希望看到最终的源代码,这个网站应该会有其他的svg)www.gamemorize.com – Gamemorize 2012-04-05 15:01:39
W/H被放在100 %以确保所有的svg被渲染,但我现在已经删除它,它没有区别。我希望对象填充其分配的CSS宽度的100%,然后按比例保持高度=宽度。 Safari似乎分配了一个固定的高度。请注意当窗口缩小/放大时滚动条的高度。 – Gamemorize 2012-04-05 15:28:47