c# - Blazor/Razor CSS 隔离和@import-ing 字体
问题描述
@import
在 Blazor/Razor CSS 隔离中处理 font 的正确方法是什么?
我正在将我的 Blazor (.NET6 rc2) 项目转换为使用 CSS 隔离,但是一些 CSS 文件具有@import
引用字体文件的语句。
例如,我有这些文件;
login.cshtml
- 一个登录页面login.cshtml.css
- 其独立的 CSS_LoginLayout.cshtml
- 布局页面
在 CSS 中是以下行;
@import url('//rsms.me/inter/inter.css');
该导入的文件仅包含@font-face
声明,以及该//rsms.me
服务器上的字体文件。
但是,这无法编译;
范围内的 CSS 文件不支持错误 RZ5000 @import 规则,因为加载顺序未定义。@import 只能放在非作用域的 CSS 文件中。
在这一点上,我想明确表示我对使用的行为@font-face
以及指令的工作方式并不熟悉——但这些是我尝试过的方法。
方法一
首先,我尝试将inter.css
引用移动到我的布局文件中,在我的作用域 css- 之前
<link rel="stylesheet" href="https://rsms.me/inter/inter.css" />
<link rel="stylesheet" href="@(nameof(MyProject)).styles.css" />
这可以编译,但是我的作用域 CSS 没有拾取字体。我的猜测是@font-face
声明必须被@import
编辑或直接嵌入到使用它们的 CSS 文件中。
方法二
接下来,我尝试将 的全部内容合并inter.css
到 mylogin.cshtml.css
中,并修复 url,例如。
@font-face {
font-family: 'Inter var alt';
font-weight: 100 900;
font-style: italic;
font-named-instance: 'Italic';
font-display: swap;
src: url("//rsms.me/inter/font-files/Inter-italic.var.woff2?v=3.19") format("woff2");
}
URL 解析,但字体仍未应用。
这里的正确方法是什么?
解决方案
推荐阅读
- python - 如何在不在 python 中安装任何外部软件的情况下使用 json 验证器?
- python-3.x - Fuzzywuzzy 匹配 2 列...脚本继续运行
- python - 将 XBRL 报告实例映射到 JSON
- ios - SwiftUI 意外的字符串崩溃
- python - 使用python如何将可点击的图像添加为Gmail签名
- python - Tensorflow:/:“DirectoryIterator”和“float”不支持的操作数类型
- javascript - 随着我增加产品数量,购物车中的价格也应该更新
- php - 检查两个链接是否相等(任何条件) PHP
- javascript - 如何在 moment.js 中获取“am”格式
- mysql - 为什么我们在 jdbc url 中使用 useUnicode=true&characterEncoding=UTF-8 即使我们的表字符集是 utf-8