防止导航栏消失而不添加“bg-dark”

Posted

技术标签:

【中文标题】防止导航栏消失而不添加“bg-dark”【英文标题】:prevent navbar from disappearing without adding "bg-dark" 【发布时间】:2021-08-26 12:59:39 【问题描述】:

我正在用 laravel 和 bootstrap 建立一个网站。我在页面顶部有一个导航栏。默认情况下,该类设置为navbar-light,但由于我想要一个深色且透明的导航栏,我将navbar-light 更改为navbar-dark,以防止出现白条,我还删除了bg-white 类。

我读过here,如果你添加类bg-dark,你可以防止导航栏在调整窗口大小时消失。 但是,这会导致导航栏不再透明。

有没有办法防止导航栏消失,并且仍然有一个透明的导航栏?

如果它有助于回答我的问题,您可以查看我的代码

<nav class="navbar navbar-expand-md navbar-dark shadow-sm">
    <div class="container">
        <a class="navbar-brand" href=" url('/') ">
             config('app.name', 'Laravel') 
        </a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label=" __('Toggle navigation') ">
            <span class="navbar-toggler-icon"></span>
        </button>

        <div class="collapse navbar-collapse" id="navbarSupportedContent">
            <!-- Left Side Of Navbar -->
            <ul class="navbar-nav mr-auto">

            </ul>

            <!-- Right Side Of Navbar -->
            <ul class="navbar-nav ml-auto">
                <!-- Authentication Links -->
                @guest
                    @if (Route::has('login'))
                        <li class="nav-item">
                            <a class="nav-link" href=" route('login') "> __('Login') </a>
                        </li>
                    @endif

                    @if (Route::has('register'))
                        <li class="nav-item">
                            <a class="nav-link" href=" route('register') "> __('Register') </a>
                        </li>
                    @endif
                @else
                    <li class="nav-item dropdown">
                        <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
                             Auth::user()->name 
                        </a>

                        <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
                            <a class="dropdown-item" href=" route('logout') "
                                onclick="event.preventDefault();
                                                document.getElementById('logout-form').submit();">
                                 __('Logout') 
                            </a>

                            <form id="logout-form" action=" route('logout') " method="POST" class="d-none">
                                @csrf
                            </form>
                        </div>
                    </li>
                @endguest
            </ul>
        </div>
    </div>
</nav>

【问题讨论】:

【参考方案1】:

我解决了!

我认为它不漂亮,但它有效。 我在导航栏中添加了一个新类 myNavbar

之后我在我的头部区域添加了一个&lt;style&gt; 块。

<style>
    .myNavbar 
        background-color: transparent !important;
        position: relative;
        width: 100%;
    
    @media (min-width: 768px) 
        .myNavbar 
            position: absolute;
        
    

    @media (min-width: 991px) 
        .myNavbar 
            position: relative;
        
    

    @media (max-width: 768px) 
        .myNavbar 
            position: absolute;
        
    
</style>

我的新标签是这样的

<nav class="navbar navbar-expand-md navbar-dark myNavbar">

现在我的导航栏不再消失。正如我所说,可能有更好的解决方案,如果您知道,请发表评论。

【讨论】:

以上是关于防止导航栏消失而不添加“bg-dark”的主要内容,如果未能解决你的问题,请参考以下文章

修复了添加滤镜模糊时导航栏消失的问题

添加导航控制器后标签栏项目消失

iOS:导航栏项目消失和重新出现

导航栏未正确显示

按下导航控制器左栏按钮时如何停止视图消失

隐藏导航栏而不移动scrollView