在我的应用程序中,我允许用户上传各种格式的自定义字体(如 ttf、otf 等)。
这些文件存储在服务器上,可以通过简单的 GET 请求进行访问。
我构建了一个选择,其中包含这些字体,选择后,某些元素的字体应更改为该字体。
我应该如何更改元素的样式?据我所知有2种方法:
循环遍历自定义字体并通过链接元素包含该字体。然而,这种方法是有缺陷的,因为我无法可靠地检测字体系列名称,因此我无法设置我想要设置样式的元素的字体系列样式。
使用 @font-face 注入 css 规则。这种方法可行,但它有明显的安全漏洞,因为我会将用户生成的 css 注入浏览器中。
我使用 vuejs,所以我可以安全地将 css 附加到各个元素,但据我所知 @font-face 不能通过在每个元素上重新定义它来工作。是否有一些像 font: url(src) 这样的属性我可以使用?
提前致谢
陪伴而非守候
相关分类