ASP.NET服务器部署后Segoe UI字体跨设备失效问题求解决方案
解决ASP.NET发布后Segoe UI字体无法在其他设备显示的问题
本地能显示Segoe UI是因为你的系统预装了这个字体,但其他设备或服务器没有,所以得把字体文件和项目一起部署,以下是适配VB.NET项目的步骤:
第一步:把Segoe UI字体文件加入项目
- 准备合法的Segoe UI字体文件(比如
segoeui.ttf常规字重、segoeuib.ttf粗体等),注意遵守字体版权协议。 - 在你的VB.NET ASP.NET项目根目录新建
fonts文件夹,把字体文件放进去。 - 在Visual Studio里选中这些字体文件,右键打开属性:
- 设置「生成操作」为
内容 - 设置「复制到输出目录」为
如果较新则复制
- 设置「生成操作」为
- 准备合法的Segoe UI字体文件(比如
第二步:用CSS引用自定义字体
打开项目里的全局CSS文件(比如Site.css),添加以下代码:@font-face { font-family: 'Segoe UI'; src: url('../fonts/segoeui.ttf') format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'Segoe UI'; src: url('../fonts/segoeuib.ttf') format('truetype'); font-weight: bold; font-style: normal; }然后给需要使用该字体的元素设置字体,比如给整个页面设置:
body { font-family: 'Segoe UI', sans-serif; }第三步:发布时确认包含字体文件
发布项目前,在发布预览界面检查fonts文件夹和里面的字体文件是否被包含(只要之前设置了生成操作是「内容」,默认会自动包含)。第四步:排查服务器权限问题(如果字体加载失败)
如果发布后浏览器控制台报字体文件404错误,需要登录服务器,给IIS站点对应的fonts文件夹设置读取权限,确保服务器允许访问这些文件。
内容的提问来源于stack exchange,提问作者Necro PC
相关产品推荐
相关产品推荐

