Html: Css: разбивка содержимого основного раздела по горизонтали

#html #css

#HTML #css

Вопрос:

У меня есть страница макета с левым боковым меню, которое отображается при входе пользователя в систему. Я установил левое поле основного содержимого на ширину бокового меню 50 пикселей. Когда пользователь выходит из системы, отображаемая домашняя страница должна быть центрирована, но это не так (из-за левого края сверху). Как мне центрировать домашнюю страницу, когда пользователь не вошел в систему, но сохранить левое поле при входе в систему. Если я установлю для поля основного содержимого значение «0 auto», когда пользователь входит в систему и отображается левое боковое меню, содержимое основного содержимого скользит под меню, когда окно становится меньше. Мой код:

Layout.cshtml:

 <!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@msg</title>
</head>

<body onload="UpdateYear()">
<div>
    @{ await Html.RenderPartialAsync("_NavPartial_top_menu"); }
</div>
<div>
    @{ await Html.RenderPartialAsync("_NavPartial_side_menu"); }
</div>    
<div class="container body-content">
    <!--<div class="container body-content" style="margin:0 auto;">-->
    
        <div style="margin-top:-60px">
            <h1 class="text-primary">@ViewData["Title"]</h1>
        </div>
        @if (ViewData["Title"] != null)
        {<hr />}
        @RenderBody()
    <div id="footer" class="container-fluid">
        <div class="navbar navbar-inverse navbar-fixed-bottom">                
            <h4 class="text-center text-primary">Copyright amp;copy; <label id="CopyYear" style="font-weight:normal">2019</label> ABC, Inc.</h4>
        </div>
    </div>
</div>
    
  

Ответ №1:

В итоге я извлек имя контроллера и на основе этого значения отображаю содержимое тела.

 var controllerName = ViewContext.RouteData.Values["controller"].ToString();

@if(controllerName.ToLower() == "home"){
    <div class="container body-content" style="margin:0 auto;">    
    <div style="margin-top:-60px">
        <h1 class="text-primary">@ViewData["Title"]</h1>
    </div>
    @if (ViewData["Title"] != null)
    {<hr />}
    @RenderBody()
    <div id="footer" class="container-fluid">
        <div class="navbar navbar-inverse navbar-fixed-bottom">                
            <h4 class="text-center text-primary">Copyright amp;copy; <label id="CopyYear" style="font-weight:normal">2019</label> ABC, Inc.</h4>
        </div>
    </div>
</div>
} else {
<div class="container body-content" >

    <div style="margin-top:-60px">
        <h1 class="text-primary">@ViewData["Title"]</h1>
    </div>
    @if (ViewData["Title"] != null)
    {<hr />}
    @RenderBody()
    <div id="footer" class="container-fluid">
        <div class="navbar navbar-inverse navbar-fixed-bottom">                
            <h4 class="text-center text-primary">Copyright amp;copy; <label id="CopyYear" style="font-weight:normal">2019</label> ABC, Inc.</h4>
        </div>
    </div>
</div>
}