Bootstrap 4搜索导航栏未显示在移动设备上

丙烷

我在下面的搜索导航栏中,链接显示在搜索栏的右侧。这在PC上工作正常,但在android或iphone设备上不起作用。

我已经从这里查看了答案,并尝试使用.navbar-header并将链接封装在.collapse类中,但是它没有用,它只是将所有内容都换到了新行上,并且搜索栏正好跨过屏幕,不适合页面显示-> https://stackoverflow.com/questions/40445515/navbar-not-visible-in-mobile-display/40445579#:~:text=1%20Answer&text=Your%20entire%20navbar%20is%20wrapped,being%20hidden %20in%20mobile%20widths。&text = navbar%2Dheader%20class%20where%20your和%20logo%20should%20be%20placed

            <th:block sec:authorize="isAuthenticated()">
            <form th:action="@{/logout}" method="POST" th:hidden="true" name="logoutForm">
                <input type="submit" value="logout">
            </form>
            </th:block>
            <nav class="navbar navbar-expand-sm bg-light">
             <div class="navbar-header">
                <div class="collapse navbar-collapse" id="searchNavbar">
                        </div>
                    <form class="form-inline my-2 my-lg-0" th:action="@{/search}" method="GET">
                        <input type="search" id="item-search" name="keyword" size="50" th:value="${keyword}" class"form-control mr-sm-2"
                            placeholder="What are you looking for " required />
                            &nbsp;
                        <input type="submit" value="Search" class="btn btn-outline-success my-2 my-sm-0"/>
                    </form>
                    <ul class="navbar-nav">
                        <th:block sec:authorize="isAuthenticated()">
                        <li class="nav-item">
                            <a class="nav-link" th:href="@{/customer}"> <b>[[${#request.userPrincipal.name}]]</b></a>
                        </li>
                        </th:block>
                        <li class="nav-item">
                            <a class="nav-link" id="cart-link" th:href="@{/cart}">Cart</a>
                        </li>
                        
                        <th:block sec:authorize="isAuthenticated()">
                        <li class="nav-item">
                            <a class="nav-link" href="javascript: document.logoutForm.submit()">Logout</a>
                        </li> 
                        </th:block>
                    </ul>
                </div>
             </div>
            </nav>
        </div>

切换建议似乎有效,但搜索栏并不局限于div,而是一直贯穿整个屏幕,然后变为可滚动状态-请参见下面的图片: UI Loook

有没有一种方法可以使搜索栏切换,但是链接会显示在搜索栏上方而无需选择navbar-toggle按钮,仅在移动设备上,而在台式机上则显示在搜索栏的一侧,即在上面的黑线下方照片和“切换”按钮上方?

马扎迪卜

关于最终目标是什么,您的问题尚不清楚,但您缺少的是,内部任何内容.collapse.navbar-collapse都将隐藏在移动设备上,您需要使用切换机制来显示它。我刚刚添加了button带有“切换”文本的和data-target="#searchNavbar",以确保您的切换可在移动设备上进行。

出于明显的原因,它看起来不太“漂亮”。但我认为您可以通过添加适当的布局类来解决。

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.bundle.min.js" integrity="sha384-LtrjvnR4Twt/qOuYxE721u19sVFLVSA4hf/rRt6PrZTmiPltdZcI7q7PXQBYTKyf" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">


<th:block sec:authorize="isAuthenticated()">
  <form th:action="@{/logout}" method="POST" th:hidden="true" name="logoutForm">
    <input type="submit" value="logout">
  </form>
</th:block>
<nav class="navbar navbar-expand-sm bg-light">
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#searchNavbar" aria-controls="searchNavbar" aria-expanded="false" aria-label="Toggle navigation">Toggle
    <span class="navbar-toggler-icon"></span>
  </button>
  <div class="navbar-header">
    <form class="form-inline my-2 my-lg-0" th:action="@{/search}" method="GET">
      <input type="search" id="item-search" name="keyword" size="50" th:value="${keyword}" class "form-control mr-sm-2" placeholder="What are you looking for " required /> &nbsp;
      <input type="submit" value="Search" class="btn btn-outline-success my-2 my-sm-0" />
    </form>
  </div>
  <div class="collapse navbar-collapse" id="searchNavbar">
    <ul class="navbar-nav">
      <th:block sec:authorize="isAuthenticated()">
        <li class="nav-item">
          <a class="nav-link" th:href="@{/customer}"> <b>[[${#request.userPrincipal.name}]]</b></a>
        </li>
      </th:block>
      <li class="nav-item">
        <a class="nav-link" id="cart-link" th:href="@{/cart}">Cart</a>
      </li>

      <th:block sec:authorize="isAuthenticated()">
        <li class="nav-item">
          <a class="nav-link" href="javascript: document.logoutForm.submit()">Logout</a>
        </li>
      </th:block>
    </ul>
  </div>
</nav>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

bootstrap 4导航栏仅在移动设备上粘

Bootstrap 4导航栏始终在移动设备上可见

Bootstrap 导航栏在移动设备上透明

Bootstrap列未显示在移动设备上

Bootstrap-导航栏不会在移动设备上显示

Bootstrap显示用于移动设备而非桌面的导航栏

Bootstrap 4 在移动设备上最右侧设置折叠切换器导航栏

Twitter Bootstrap 3导航栏在移动设备上不会崩溃

使用Bootstrap我的导航栏在移动设备上太长了

Bootstrap 导航栏未在移动设备上扩展

Bootstrap导航栏在某些设备中未正确显示

Bootstrap“移动”菜单未显示在移动设备上

Bootstrap页眉和页脚未显示移动设备上的链接

IMG在使用Bootstrap的移动设备上未以模态显示

仅 CSS 动画会干扰移动设备上的 Bootstrap4 的导航栏切换器

字体真棒未显示在 Bootstrap 4 导航栏品牌中

导航栏未显示在移动设备上

CSS / Bootstrap-网站上的侧边栏更改为移动设备上的导航栏

Bootstrap 导航栏卡在移动显示中

移动设备上的 Bootstrap 可导航菜单

导航下方的Bootstrap显示搜索栏

Bootstrap 4移动导航栏消失

Bootstrap可折叠的导航栏未显示

Bootstrap 可折叠导航栏不显示菜单,即移动设备的下拉菜单

为什么我的Bootstrap固定式顶部导航栏在移动设备上这么小?

为什么我的twitter-bootstrap导航栏在移动设备上缩小?

Bootstrap 3 CSS:仅在生产中的移动设备上,导航栏上方的白色细缝

Bootstrap 3 导航栏在字体真棒移动视图后未显示所有细节

在小窗口或移动设备上查看时,我的Bootstrap固定顶部导航栏不会显示所有下拉菜单项