HTML 中的内联 SVG - 相同的字体大小渲染得更大
Inline SVG in HTML - same font-size rendered bigger
我刚开始看SVG Essentials这本书,示例2-2中有些地方我不明白。 "Inline SVG within an HTML file".
"Look Ma, Same Font!" 文本的字体大小比 "And here is regular HTML again..." 的字体大,而两者的样式相同,实际上没有样式并使用默认值。这是示例中的代码(也是 see here):
<head>
<style>
svg {
display:block;
width:500px;
height:500px;
margin: auto;
border: thick double navy;
background-color: lightblue;
}
body {
font-family: cursive;
}
circle {
fill: lavender;
stroke: navy;
stroke-width: 5;
}
</style>
</head>
<body>
<h1>Inline SVG in HTML Demo Page</h1>
<svg viewBox="0 0 250 250" xmlns="http://www.w3.org/2000/svg">
<title>An SVG circle</title>
<circle cx="125" cy="125" r="100"/>
<text x="125" y="125" dy="0.5em" text-anchor="middle">Look Ma, Same Font!</text>
</svg>
<p>And here is regular HTML again...</p>
</body>
</html>
知道我在这里遗漏了什么吗?
viewBox 有效地将内容的大小加倍。可见区域为 500 x 500 像素(在 CSS 中设置),但您将 250 x 250 单位区域放大到 500 x 500 像素的框中。
好吧,显然我应该继续阅读下一章。
答案是“视口的用户坐标”——这些会影响 SVG 的渲染方式。具体来说,将 viewBox 设置为 SVG viewport 的一半会使图像看起来大一倍...
我刚开始看SVG Essentials这本书,示例2-2中有些地方我不明白。 "Inline SVG within an HTML file".
"Look Ma, Same Font!" 文本的字体大小比 "And here is regular HTML again..." 的字体大,而两者的样式相同,实际上没有样式并使用默认值。这是示例中的代码(也是 see here):
<head>
<style>
svg {
display:block;
width:500px;
height:500px;
margin: auto;
border: thick double navy;
background-color: lightblue;
}
body {
font-family: cursive;
}
circle {
fill: lavender;
stroke: navy;
stroke-width: 5;
}
</style>
</head>
<body>
<h1>Inline SVG in HTML Demo Page</h1>
<svg viewBox="0 0 250 250" xmlns="http://www.w3.org/2000/svg">
<title>An SVG circle</title>
<circle cx="125" cy="125" r="100"/>
<text x="125" y="125" dy="0.5em" text-anchor="middle">Look Ma, Same Font!</text>
</svg>
<p>And here is regular HTML again...</p>
</body>
</html>
知道我在这里遗漏了什么吗?
viewBox 有效地将内容的大小加倍。可见区域为 500 x 500 像素(在 CSS 中设置),但您将 250 x 250 单位区域放大到 500 x 500 像素的框中。
好吧,显然我应该继续阅读下一章。
答案是“视口的用户坐标”——这些会影响 SVG 的渲染方式。具体来说,将 viewBox 设置为 SVG viewport 的一半会使图像看起来大一倍...