【发布时间】:2011-08-04 08:03:23
【问题描述】:
这似乎应该很容易,但我只是没有得到任何东西。
我想制作一个包含单个 SVG 图像的 HTML 页面,该页面会自动缩放以适应浏览器窗口,无需任何滚动,同时保持其纵横比。
例如,目前我有一个 1024x768 的 SVG 图像;如果浏览器视口为 1980x1000,那么我希望图像以 1333x1000 显示(垂直填充,水平居中)。如果浏览器是 800x1000,那么我希望它以 800x600 显示(水平填充,垂直居中)。
目前我的定义是这样的:
<body style="height: 100%">
<div id="content" style="width: 100%; height: 100%">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
width="100%" height="100%"
viewBox="0 0 1024 768"
preserveAspectRatio="xMidYMid meet">
...
</svg>
</div>
</body>
但是,这会放大到浏览器的整个宽度(对于宽而短的窗口)并产生垂直滚动,这不是我想要的。
我错过了什么?
【问题讨论】:
-
莫名其妙地,我尝试将内联样式属性移动到头部的 CSS 样式块中,然后它就起作用了。我不知道为什么它有所作为。 (虽然我确实需要添加溢出:隐藏——否则会有一个 4 像素的垂直滚动。)
-
而且......哦,我的上帝...... svg 属性区分大小写!
viewbox不起作用!
标签: layout xhtml svg scaling aspect-ratio