問題: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+ズームでスムーズなスケーリングが得られます。しかし、Safariは私に小さなsvgとスクロールバーを提供します。私は何が間違っているのですか?