1
HTML 5 specifiction定義:如何計算SVG圖像的固有尺寸?
的IDL屬性
naturalWidth
和naturalHeight
必須返回圖像的固有寬度和高度,以CSS像素,如果圖像是可用的,否則爲0。
這是清楚JPG,PNG,GIF的固有寬度和高度是如何計算的 - 它們在px中都有固定的尺寸。但我無法找到這些維度是如何計算SVG圖像的。
我做任意SVG圖像的實驗和它在不同的瀏覽器將返回不同的值:
- 鉻 - 137×150
- 火狐 - 0 X 0
- 的Safari - 返回的尺寸DOM元素而不是固有尺寸
那麼是否有任何規範定義它應該如何表現?爲什麼Chrome會返回這些值?我可以理解在Safari和Firefox中實施的行爲,但Chrome正在做一些有趣的事情。
const width = document.getElementById('img').naturalWidth;
const height = document.getElementById('img').naturalHeight;
document.getElementById('result').innerText = `Width: ${width}\nHeight: ${height}`;
<img id="img" src="https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/android.svg">
<div id="result"></div>