问题:
有没有一种方法可以使用CSS更改SVG视口的大小,但保持纵横比?或者有没有其他方法可以在没有视口的情况下保持SVG的纵横比?
问题: 我想要响应式地调整SVG的大小,但保持宽高比。视图框的宽度会随页面调整,但高度不会随宽度调整。这样做的问题是容器div的高度取决于视口的高度。因此,即使在视口的底部没有显示任何内容,容器div的高度也可能非常高。
沙盒: http://jsfiddle.net/hT9Jb/1/
问题: 我想要响应式地调整SVG的大小,但保持宽高比。视图框的宽度会随页面调整,但高度不会随宽度调整。这样做的问题是容器div的高度取决于视口的高度。因此,即使在视口的底部没有显示任何内容,容器div的高度也可能非常高。
沙盒: http://jsfiddle.net/hT9Jb/1/
<style>
div{
width: 100%;
height: 500px;
background-color: #00ffff;
}
svg{
width: 50%;
background-color: #ffff00;
}
</style>
<div>
<svg version="1.1" id="Layer_1" x="0px" y="0px" width="250px" height="400px" viewBox="0 0 250 400" enable-background="new 0 0 250 400" aspect-ratio="XminYmin">
<rect x="0" y="0" fill="#FF0000" width="250" height="400"/>
</svg>
</div>
(Object SVG和img SVG不适合我的目的。它必须是内联的。解决方案不一定要使用CSS...javascript绝对是可接受的解决方案。)