Sepertinya ini seharusnya mudah, tetapi saya hanya tidak mendapatkan sesuatu.
Saya ingin membuat halaman HTML yang berisi gambar SVG tunggal yang secara otomatis menyesuaikan dengan jendela browser, tanpa scrolling apa pun dan dengan tetap mempertahankan rasio aspeknya.
Misalnya, saat ini saya memiliki gambar SVG 1024x768; jika viewport browser 1980x1000 maka saya ingin gambar ditampilkan pada 1333x1000 (isi secara vertikal, di tengah horizontal). Jika browser berukuran 800x1000 maka saya ingin menampilkannya pada 800x600 (isi secara horizontal, di tengah secara vertikal).
Saat ini saya telah mendefinisikannya seperti ini:
<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>
Namun ini meningkatkan hingga lebar penuh browser (untuk jendela lebar tapi pendek) dan menghasilkan pengguliran vertikal, yang bukan yang saya inginkan.
Apa yang saya lewatkan?
Jawaban:
Bagaimana tentang:
Atau:
Saya memiliki contoh di situs saya yang menggunakan (secara kasar) teknik ini, meskipun dengan pengisi 5% di sekelilingnya, dan menggunakan
position:absolute
alih-alihposition:fixed
:http://phrogz.net/svg/svg_in_xhtml5.xhtml
(Menggunakan
position:fixed
mencegah skenario kasus tepi yang sangat dari penautan ke jangkar sub-halaman di halaman, danoverflow:hidden
dapat memastikan bahwa tidak ada bilah gulir yang pernah muncul (jika Anda memiliki konten tambahan.)sumber
viewBox
atribut.