ASP.NET CORE MVC 项目中未显示超赞字体图标
Font awesome icons not showing up in ASP.NET CORE MVC Project
我正在开发一个 ASP.NET CORE MVC 应用程序,但我在加载超赞字体图标时遇到了问题。这是文件夹布局:
这是我的 _layout.cshtml 的样子:
<environment include="Development">
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.js"></script>
<link rel="stylesheet" href="~/lib/font-awesome/css/fontawesome.css" />
</environment>
<environment exclude="Development">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery"
crossorigin="anonymous"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=">
</script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js"
asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"
asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal"
crossorigin="anonymous"
integrity="sha384-xrRywqdh3PHs8keKZN+8zzc5TX0GRTLCcmivcbNJWm2rs5C8PRhcEn3czEjhAO9o">
</script>
<link rel="stylesheet" href="~/lib/font-awesome/css/fontawesome.min.css" />
</environment>
<script src="~/js/site.js" asp-append-version="true"></script>
@RenderSection("Scripts", required: false)
以下是我尝试使用 fontawesome 图标的方式:
<span class='input-group date datepicker'>
@Html.TextBoxFor(m => m.CandidateDetail.DateOfBirth, new { @id = "DateOfBirth", @class = "form-control" })
<span class="input-group-append">
<span class="input-group-text"><i class="fas fa-calendar"></i></span>
</span>
</span>
当我启动该项目时,我看到的只是一个正方形。我做错了什么吗?
要引用 font-awesome
,您应该添加 ~/lib/font-awesome/css/all.css
而不是 ~/lib/font-awesome/css/fontawesome.css
。
将下面的代码添加到 <environment include="Development">
<environment include="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link href="~/lib/font-awesome/css/all.css" rel="stylesheet" />
</environment>
检查 chrome 开发人员工具 (f12) 上的控制台+网络选项卡
如果您在本地 IIS 上托管应用程序,大多数时候 IIS 默认不允许 mime 类型 .woff。您可以使用 web.config
添加 mime 类型
<system.webServer>
<staticContent>
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="font/woff2" />
</staticContent>
</system.webServer>
另一个原因是 CSS 文件和字体文件之间的相对路径不匹配。
因为您使用的是 FontAwesome 提供的相同目录结构,所以我不
认为这将是问题所在。
我正在开发一个 ASP.NET CORE MVC 应用程序,但我在加载超赞字体图标时遇到了问题。这是文件夹布局:
这是我的 _layout.cshtml 的样子:
<environment include="Development">
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/bootstrap/dist/js/bootstrap.bundle.js"></script>
<link rel="stylesheet" href="~/lib/font-awesome/css/fontawesome.css" />
</environment>
<environment exclude="Development">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery"
crossorigin="anonymous"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=">
</script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js"
asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"
asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal"
crossorigin="anonymous"
integrity="sha384-xrRywqdh3PHs8keKZN+8zzc5TX0GRTLCcmivcbNJWm2rs5C8PRhcEn3czEjhAO9o">
</script>
<link rel="stylesheet" href="~/lib/font-awesome/css/fontawesome.min.css" />
</environment>
<script src="~/js/site.js" asp-append-version="true"></script>
@RenderSection("Scripts", required: false)
以下是我尝试使用 fontawesome 图标的方式:
<span class='input-group date datepicker'>
@Html.TextBoxFor(m => m.CandidateDetail.DateOfBirth, new { @id = "DateOfBirth", @class = "form-control" })
<span class="input-group-append">
<span class="input-group-text"><i class="fas fa-calendar"></i></span>
</span>
</span>
当我启动该项目时,我看到的只是一个正方形。我做错了什么吗?
要引用 font-awesome
,您应该添加 ~/lib/font-awesome/css/all.css
而不是 ~/lib/font-awesome/css/fontawesome.css
。
将下面的代码添加到 <environment include="Development">
<environment include="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link href="~/lib/font-awesome/css/all.css" rel="stylesheet" />
</environment>
检查 chrome 开发人员工具 (f12) 上的控制台+网络选项卡
如果您在本地 IIS 上托管应用程序,大多数时候 IIS 默认不允许 mime 类型 .woff。您可以使用 web.config
添加 mime 类型<system.webServer>
<staticContent>
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="font/woff2" />
</staticContent>
</system.webServer>
另一个原因是 CSS 文件和字体文件之间的相对路径不匹配。 因为您使用的是 FontAwesome 提供的相同目录结构,所以我不 认为这将是问题所在。