svg - 为什么一个 SVG 文本元素有四种不同的字体大小值?
问题描述
我使用 InkScape 1.0.1 创建了一个 SVG 文件。我的 SVG 包含一个文本元素。在 InkScape 中,我打开了“文本和字体”对话框。
我选择我的文本元素,文本和字体对话框然后将字体大小显示为 38.1。我双击我的文本(就像我要编辑文本一样),文本和字体对话框现在显示字体大小为 36,这是我在创建该文本元素时选择的值。
当我在记事本中打开 SVG 文件时,它包含以下内容:
...
<text xml:space="preserve" style="font-size:50.8px; ... <tspan style="font-size:48px; ... </tspan></text>
...
(我用“...”替换了不相关的代码)
那么,我的字体大小到底是多少——是 38.1(px?)、36(px?)、50.8px 还是 48px,为什么会有多个值?
笔记:
我假设文本和字体对话框以像素为单位显示字体大小,但该对话框中实际上没有显示任何单位。
我注意到比率 50.8/48 与比率 38.1/36 相同。我还注意到 48/36 的比率是 4/3。
myviewBox
的宽度和高度与 SVG 视口的宽度和高度相同(在 SVG 根元素中指定)。我没有嵌套的 SVG 元素。
谢谢!
解决方案
Text+Font 编辑器使用 pt 作为单位(见工具提示)。
您的文本有一种外部风格和一种内部风格,无论出于何种原因,它们都不同。内部样式对文本的选定部分很重要。
推荐阅读
- sql - 有没有办法查看 SQL 表达式的类型?
- fastlane - Fastlane 插件应用中心给出提供的 app_name: 'helloworldtest" 格式无效
- windows - 如何将图标添加到 dotnet 桌面(Windows)应用程序?
- python - SyntaxError:无效的语法 - 使用 celery 时从可迭代中产生
- arrays - 写入时间长,使用 Dask 从 hdf5 文件到 numpy 堆栈的读取时间短
- c# - Android 9.0 Xamarin Android 上的服务
- css - 如何将存储在symfony公用文件夹外部的css链接到twig
- python - Flask 应用程序中可能的循环导入问题
- flutter - Flutter 可以选择在小部件树中包含/排除父小部件
- jquery - 加载时删除类和禁用属性