Parece que debería ser fácil, pero no obtengo nada.
Quiero crear una página HTML que contenga una sola imagen SVG que se escale automáticamente para adaptarse a la ventana del navegador, sin desplazarse y conservando su relación de aspecto.
Por ejemplo, en este momento tengo una imagen SVG de 1024x768; si la ventana del navegador es 1980x1000, entonces quiero que la imagen se muestre a 1333x1000 (rellenar verticalmente, centrado horizontalmente). Si el navegador era 800x1000, quiero que se muestre a 800x600 (relleno horizontalmente, centrado verticalmente).
Actualmente lo tengo definido así:
<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>
Sin embargo, esto se está ampliando al ancho completo del navegador (para una ventana ancha pero corta) y produciendo un desplazamiento vertical, que no es lo que quiero.
¿Qué me estoy perdiendo?