.NET MAUI Blazor项目如何修改默认字体?
.NET MAUI Blazor Windows项目字体不生效的解决办法
方法1(MauiProgram.cs注册字体)的排查修复
- 确认字体文件属性:右键
Montserrat-Regular.ttf,设置生成操作为MauiFont,复制到输出目录选如果较新则复制。未设置此属性会导致字体无法被打包到项目中。 - 检查注册代码准确性:确保
ConfigureFonts中的路径和别名对应无误,示例代码如下:builder.ConfigureFonts(fonts => { fonts.AddFont("Montserrat-Regular.ttf", "Montserrat"); }); - Blazor组件中正确调用:在
.razor文件的样式里明确指定字体别名,字体名含空格时需加引号:.target-text { font-family: 'Montserrat'; }
方法2(wwwroot/css中用@font-face)的排查修复
- 核对字体文件路径:若
Montserrat-Regular.ttf放在wwwroot/css目录下,url('Montserrat-Regular.ttf')路径正确;若放在子目录如wwwroot/css/fonts,需修改为url('fonts/Montserrat-Regular.ttf')。 - 设置文件属性:右键字体文件,将生成操作设为
Content,复制到输出目录选如果较新则复制,否则Blazor无法访问该文件。 - 清除WebView2缓存:Windows平台MAUI Blazor基于WebView2运行,缓存可能导致新字体不加载,可按
Ctrl+Shift+R强制刷新,或在项目调试属性中启用「禁用浏览器缓存」。 - 完善@font-face配置:添加字重和样式声明,避免匹配异常:
@font-face { font-family: 'Montserrat'; src: url('Montserrat-Regular.ttf') format('truetype'); font-weight: normal; font-style: normal; } html, body { font-family: 'Montserrat', sans-serif; } - 验证字体加载状态:按F12打开WebView2开发者工具,在「网络」标签搜索
Montserrat,若返回404则路径错误,若返回其他错误需检查文件是否损坏。
通用排查要点
- 验证字体文件有效性:先在系统中安装Montserrat字体,直接用
font-family: 'Montserrat'测试,若生效则说明文件本身无问题,问题出在项目配置。 - 检查样式优先级:若组件或其他CSS存在更高优先级的
font-family设置,会覆盖body样式,可通过开发者工具查看元素样式继承情况。
内容的提问来源于stack exchange,提问作者Rasmond
相关产品推荐
相关产品推荐

