【问题标题】:how to make body shifted to left when toggle button clicked in blazor在 blazor 中单击切换按钮时如何使身体向左移动
【发布时间】:2021-05-05 09:28:00
【问题描述】:

在 Blazor 应用程序中,当我单击侧边栏中的切换按钮导航菜单时,它只会折叠侧边栏并且主体停留在那里。我想让侧边栏不可见,主体向左移动。于是我在mainlayout.layzor中写了如下代码:

@inherits LayoutComponentBase
    @code {
      private bool collapseNavMenu = true;

      private string NavMenuCssClass => collapseNavMenu ? "collapse" : null;

      private void ToggleNavMenu() {
          collapseNavMenu = !collapseNavMenu;
      }
    }
<div class="page">
    <div class="sidebar">
        <div class="pos-f-t">           
            <nav class="navbar navbar-dark bg-blue top-row px-4">
                <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarToggleExternalContent" aria-controls="navbarToggleExternalContent" aria-expanded="false" aria-label="Toggle navigation" @onclick="ToggleNavMenu">
                    <span class="navbar-toggler-icon"></span>
                </button>
            </nav>

            <div class="@NavMenuCssClass">
                <ul class="nav flex-column">
                    <li class="nav-item px-3">
                        <NavLink class="nav-link" href="" Match="NavLinkMatch.All">
                            <span class="oi oi-home" aria-hidden="true"></span> Home
                        </NavLink>
                    </li>
                    <li class="nav-item px-3">
                        <NavLink class="nav-link" href="counter">
                            <span class="oi oi-plus" aria-hidden="true"></span> Counter
                        </NavLink>
                    </li>
                    <li class="nav-item px-3">
                        <NavLink class="nav-link" href="fetchdata">
                            <span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
                        </NavLink>
                    </li>
                </ul>
            </div>
        </div>
    </div>

    <div class="main">
        <div class="top-row px-4">
            <a href="https://docs.microsoft.com/aspnet/" target="_blank">About</a>
        </div>

        <div class="content px-4">
            @Body
        </div>
    </div>
    </div>

当导航栏不可见时,有人可以帮助使主 @Body 向左移动吗?

提前致谢。 俊

【问题讨论】:

  • 你想用css3把body向左移动,然后隐藏吗?

标签: css blazor sidebar


【解决方案1】:

我发现我可以在 vanilla blazor 应用程序中管理这些。

我在 mainlayout.lazor 上进行了更改,例如:

@inherits LayoutComponentBase

<div class="top-row px-4">
<button class="btn-primary" @onclick="ToggleNavMenu">
    <i class="material-icons">view_headline</i>
</button>
</div>
<div class="page">
<div class="sidebar" style="@leftMenuStyle">
    <NavMenu />
</div>

<div class="main">
    <div class="content px-4">
        @Body
    </div>
</div>
</div>

然后我像这样从 MavMenu.razor 中删除了切换按钮。

<div >
<ul class="nav flex-column">
    <li class="nav-item px-3">
        <NavLink class="nav-link" href="" Match="NavLinkMatch.All">
            <i class="material-icons">
                accessibility
            </i> Home
        </NavLink>
    </li>
    <li class="nav-item px-3">
        <NavLink class="nav-link" href="counter">
            <i class="material-icons">autorenew</i>
            Counter
        </NavLink>
    </li>
    <li class="nav-item px-3">
        <NavLink class="nav-link" href="fetchdata">
            <i class="material-icons">autorenew</i> Fetch data
        </NavLink>
    </li>
</ul>
</div>

【讨论】:

    猜你喜欢
    • 2023-01-20
    • 2020-01-08
    • 1970-01-01
    • 2015-12-30
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多