Невозможно выполнить стилизацию asp.net основное приложение на всю ширину

#html #css #asp.net-core

#HTML #css #asp.net-ядро

Вопрос:

Я создал новое приложение в Asp.Net Основное приложение, использующее шаблон Razor Pages. Что я хочу сделать, так это расширить основной раздел на всю ширину экрана.

расширитьdiv

Я пробовал следующее (Index.cshtml):

 <div class="full-width shade">
    <h1 class="display-4">Welcome</h1>
    <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
</div>
 

С помощью css:

 .shade {
    background-color: aqua;
}

.full-width {
    width: 100%;
}
 

Я также пробовал:

 .full-width {
    margin-left: 0px;
    margin-right: 0px;
}
 

И несколько других вариантов, но div, похоже, остается центрированным на экране. Глядя на инструменты разработчика, контейнер заполняет ширину, а <main> тег — нет.

Мой вопрос в том, как я могу изменить это так, чтобы ширина основного раздела всегда заполнялась до доступной ширины окна браузера, но при этом сохраняла функциональность, которую предоставляет bootstrap при работе с гораздо меньшим экраном?

Ответ №1:

как я могу изменить это так, чтобы ширина основного раздела всегда заполнялась до доступной ширины окна браузера, но при этом сохраняла функциональность, которую предоставляет bootstrap при работе с гораздо меньшим экраном?

Вы можете установить свойство контейнера body max-width 100% на странице макета. Пожалуйста, обратитесь к следующим шагам, чтобы обновить свой код.

На _Layout.cshtml странице (я предполагаю, что вы используете эту страницу макета): добавьте body-container атрибут класса.

 <div class="container body-container">
    <main role="main" class="pb-3">
        @RenderBody()
    </main>
</div>
 

Затем добавьте следующий стиль в Index.cshtml :

     <style>
        .shade {
            background-color: aqua;
        }

        .body-container {
            /*remove the container default padding attribute*/
            padding-left: 0px !important;
            padding-right: 0px !important;
            /*increase width as per your need*/
            max-width: 100%;
        } 
    </style>

    <div class="full-width shade">
        <h1 class="display-4">Welcome</h1>
        <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
    </div>
 

Результат такой:

введите описание изображения здесь

Если не удалить атрибут заполнения контейнера по умолчанию, результат будет выглядеть следующим образом:

введите описание изображения здесь