Иконки Bootstrap и Font Awesome не отображаются

Вопрос или проблема

У меня есть приведенный ниже код в моем _layout, и он отображает то, что я хочу, так, как я этого хочу. Теперь в своих разных представлениях (см. второй код) я пытаюсь вставить несколько иконок, используя Bootstrap или Font Awesome, но ничего не отображается. Когда я проверяю страницу в браузере, я могу видеть пространство, отведенное для иконок, но сами иконки не видны.

Содержимое моего _layout:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
        <title>@ViewData["Title"] - LKGest</title>

        <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Rancho&effect=shadow-multiple">
        <link rel="stylesheet" href="~/css/site.css" asp-append-version="true" />
        <link rel="stylesheet" href="~/LKGest.styles.css" asp-append-version="true" />

        @* ********** Форматирование заголовка страниц ********** *@
        <style>
            header {
                font-family: 'Tangerine', 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
                font-size: 20px;
                text-shadow: 4px 4px 4px #aaa;
            }
        </style>
    </head>

    <body>
        <header>
            <nav class="navbar navbar-expand-sm navbar-toggleable-sm navbar-light bg-primary border-bottom box-shadow mb-3">
                <div class="container-fluid">
                    <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="Index">LKGest</a>
                    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-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 justify-content-between">
                        <ul class="navbar-nav flex-grow-1">
                            <li class="nav-item">
                                <a class="nav-link text-light" asp-area="" asp-controller="Home" asp-action="Index">Главная</a>
                            </li>
                            <li class="nav-item">
                                <a class="nav-link text-light" asp-area="" asp-controller="Home" asp-action="Privacy">Предыдущий меню</a>
                            </li>
                        </ul>
                        <p class="nav navbar-text text-light">Привет, @User.Identity?.Name!</p>
                    </div>
                </div>
            </nav>
        </header>
        <div class="container">
            <main role="main" class="pb-3">
                @RenderBody()
            </main>
        </div>

        <footer id="footer" class="border-top footer text-muted">
            <div class="container">
                <span class="copyright">&copy; Авторские права и дизайн: LOUKOU's.</span>
            </div>
        </footer>
        <script src="~/lib/jquery/dist/jquery.min.js"></script>
        <script src="~/lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
        <script src="~/js/site.js" asp-append-version="true"></script>
        @await RenderSectionAsync("Scripts", required: false)
    </body>
    </html>

Содержимое моего представления:

    @model List<Profession>

    <div class="container">
        <div class="row pt-4 pb-3">
            <div class="col-6">
                <h2 class="text-primary">
                    Список профессий
                </h2>
            </div>
            <div class="col-6 text-end fa fa-ambulance">
                <a asp-controller="Administrateur" asp-action="create_Professions" class="btn btn-primary">
                    <i class="bi bi-plus-circle"></i>
                    @*<i class="fa-solid fa-circle-plus"></i>*@
                     Создать новую профессию
                </a>
            </div>
        </div>
        <div class="row pt-4">
            <div class="col-8">
                <table class="table table-bordered table-striped">
                    <thead>
                        <tr>
                            <th>
                                №
                            </th>
                            <th>
                                Имя
                            </th>
                            <th>
                                Заметки
                            </th>
                        </tr>
                    </thead>
                    <tbody>
                        @foreach (var obj in Model.OrderBy(u => u.NomProfession))
                        {
                            <tr>
                                <td>@obj.NoProfession</td>
                                <td>@obj.NomProfession</td>
                                <td>@obj.RemProfession</td>
                            </tr>
                        }
                    </tbody>
                </table>
            </div>
        </div>
    </div>

Ответ или решение

Конечно, давайте решим проблему с иконками Bootstrap и Font Awesome, которые не отображаются на ваших страницах. Мы пройдемся по нескольким возможным причинам и решениям.

Ваша проблема

Иконки Bootstrap или Font Awesome не отображаются, но вы видите пространство, занимаемое этими иконками, в инструментах разработчика. Это указывает на то, что ваши стили не загружаются должным образом.

Возможные причины и решения

  1. Подключение Font Awesome:

    Убедитесь, что вы подключили Font Awesome в вашем проекте. В вашем коде отсутствует отдельная ссылка на библиотеку Font Awesome. Попробуйте добавить следующий код в секцию <head> вашего _Layout.cshtml:

    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" integrity="sha384-k6RqeWeci5ZR/Lv4MR0sA0FfDOMB3k8830cM28r7kThI3f9c0FDMkmF3fChfM9c" crossorigin="anonymous">

    Убедитесь, что вы используете самую последнюю версию Font Awesome, или ту, которая поддерживает ваши иконки.

  2. Использование правильного синтаксиса для иконок:

    Вы используете <i class="bi bi-plus-circle"></i> в вашем коде. Если вы хотите использовать Font Awesome, убедитесь, что вы используете правильный синтаксис для иконок. Например, если вы хотите отобразить иконку "плюс":

    <i class="fas fa-plus-circle"></i>

    Если вы используете иконки из Bootstrap Icons, убедитесь, что вы подключили нужную библиотеку, и используете корректные классы.

  3. Конфликты стилей:

    Иногда стили могут конфликтовать друг с другом. Попробуйте проверить в инструменте разработчика, загружаются ли стили Font Awesome и видны ли они в списке загружаемых ресурсов. Если конфликтов нет, убедитесь, что другие CSS-файлы в вашем проекте не переопределяют стили иконок.

  4. Проверка видимости контейнера:

    Убедитесь, что контейнер, в котором размещены ваши иконки, видим. Если структура HTML/CSS обеспечивает прилипание и/или скрытие элемента, это может повлиять на отображение ваших иконок.

  5. Кеширование браузера:

    Иногда изменения стилей или скриптов не отображаются из-за кеширования браузера. Попробуйте очистить кэш или открыть страницу в режиме инкогнито.

Пример исправленного кода

Вот как будет выглядеть ваш обновленный _Layout.cshtml и View content с учетом вышеуказанных изменений:

_Layout.cshtml:

<head>
    ...
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" integrity="sha384-k6RqeWeci5ZR/Lv4MR0sA0FfDOMB3k8830cM28r7kThI3f9c0FDMkmF3fChfM9c" crossorigin="anonymous">
    ...
</head>

View content:

<div class="container">
    <div class="row pt-4 pb-3">
        <div class="col-6">
            <h2 class="text-primary">
                Liste des professions
            </h2>
        </div>
        <div class="col-6 text-end">
            <a asp-controller="Administrateur" asp-action="create_Professions" class="btn btn-primary">
                <i class="fas fa-plus-circle"></i>  <!-- Измененный класс иконки -->
                Créer une nouvelle profession
            </a>
        </div>
    </div>
    ...
</div>

Заключение

После применения всех предложенных шагов ваши иконки должны появиться на странице. Если проблемы сохраняются, убедитесь, что все файлы стилей загружаются корректно и без ошибок. Вы можете также попробовать тестировать на разных устройствах или браузерах, чтобы исключить локализованный баг.

Оцените материал
Добавить комментарий

Капча загружается...