首页 > 解决方案 > ASP.NET Core:向所有页面添加背景图像

问题描述

我正在尝试向我的 Web 应用程序中的所有页面添加背景图像。但是,在过去几个小时的尝试中,我遇到了一些问题。我正在使用带有剃须刀页面的 ASP.NET Core Web 应用程序,并且我使用 NuGet 安装了引导程序,这也给了我一个 site.css 文件。

在我的 site.css 文件中,我添加了以下部分:

#HomepageBody{
    background-image: url("Images/cloud-1581.jpg");
    background-repeat: no-repeat;
    background-position: center;
}

在我的 Shared/_Layout.cshtml 文件中,我有以下内容:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewData["Title"] - CustomerPageTest</title>
    <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
    <link rel="stylesheet" href="~/css/site.css" />
</head>
<body id="HomepageBody">
    <header>
        <nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-white border-bottom box-shadow mb-3">
            <div class="container">
                <a class="navbar-brand" asp-area="" asp-page="/Index">CD Insights</a>
                <button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse" aria-controls="navbarSupportedContent"
                        aria-expanded="false" aria-label="Toggle navigation">
                    <span class="navbar-toggler-icon"></span>
                </button>
                <div class="navbar-collapse collapse d-sm-inline-flex flex-sm-row-reverse">
                    <ul class="navbar-nav flex-grow-1">
                        <li class="nav-item">
                            <a class="nav-link text-dark" asp-area="" asp-page="/Index">Home</a>
                        </li>
                        <li class="nav-item">
                            <a class="nav-link text-dark" asp-area="" asp-page="/Customer/List">Add Assessment</a>
                        </li>
                    </ul>
                </div>
            </div>
        </nav>
    </header>

在正文部分,我将 ID 添加到其中,但是当我运行 Web 应用程序时,没有任何新的事情发生。关于如何解决这个问题的任何想法?

标签: c#htmlcssasp.net-corerazor

解决方案


您的图像的 url 在您的 site.css 文件中被引用:background-image: url("Images/cloud-1581.jpg");但 site.css 文件位于~/css/site.css,因此程序实际上是在以下相对 url: 处查找图像~/css/Images/cloud-1581.jpg并且找不到它。

使用前导斜杠对图像 url 进行绝对引用,如下所示:background-image: url("/Images/cloud-1581.jpg");


推荐阅读