問題:Safari不是在打球,而是用滾動條呈現我的SVG圖像。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 + Zooming。但Safari提供了更小的svg和滾動條。我究竟做錯了什麼?
請注意,您在HTML元素上聲明瞭XHTML名稱空間,但是它是HTML4 DOCTYPE。 (而且你的內容顯然不是XHTML,就像未封閉的'meta'標籤一樣。) – Phrogz 2012-04-05 14:54:56
@Progrog謝謝,我會更新文檔類型。爲了解這個問題的實際效果,我會在這裏看看它(如果人們希望看到最終的源代碼,這個網站應該會有其他的svg)www.gamemorize.com – Gamemorize 2012-04-05 15:01:39
W/H被放在100 %以確保所有的svg被渲染,但我現在已經刪除它,它沒有區別。我希望對象填充其分配的CSS寬度的100%,然後按比例保持高度=寬度。 Safari似乎分配了一個固定的高度。請注意當窗口縮小/放大時滾動條的高度。 – Gamemorize 2012-04-05 15:28:47