You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 20:05:16