如果我对 SVG 的理解是正确的,那么以下两个 SVG 描述会产生相同的图像,但事实并非如此。(注意:这两个代码列表的不同之处仅在于其svg
标签中的坐标值。更具体地说,对于第一个列表中的每个 ( x , y ) 对,第二个列表中都有一个 ( x -205, y -55) 对。)
<!DOCTYPE html>
<html>
<head><title>title</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
x="0" y="0" width="210" height="60" viewBox="0 0 210 60">
<g style="stroke: black; fill: none;">
<path d="M 5 5 Q 105 55 205 55"/>
</g>
</svg>
</body>
</html>
<!DOCTYPE html>
<html>
<head><title>title</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
x="-205" y="-55" width="210" height="60" viewBox="-205 -55 5 5">
<g style="stroke: black; fill: none;">
<path d="M -200 -50 Q -100 0 0 0"/>
</g>
</svg>
</body>
</html>
事实上,至少在 Firefox 看来,它们看起来完全不同。我对它们的预期渲染是 Firefox 为第一个提供的(即,一条从左到右缓慢向下倾斜的曲线,初始斜率为 -1/2,最终斜率为 0)。我完全被 FF 为第二个生成的东西弄糊涂了,因为,AFAICT,第二个规范是一个简单的批发(“刚性”)翻译,由第一个的向量(-205,-55)。
为什么两个显示器看起来不一样?