【问题标题】:Move search bar to second line for medium screens with Bootstrap 4使用 Bootstrap 4 将搜索栏移动到中等屏幕的第二行
【发布时间】:2019-05-11 21:56:56
【问题描述】:

此导航栏使用 Bootstrap 4。对于中型屏幕(768 像素到 991 像素),我希望将搜索栏和按钮移动到第二行,因为它在大屏幕及以上屏幕上。目前,在中等屏幕上,搜索栏会紧挨着其他导航链接:

它在大/超大屏幕上的显示效果:

根据第一个答案建议更新代码:

<nav class="navbar navbar-expand-md navbar-fixed-top navbar-dark bg-navbar">
    <div class="container">
        <a class="navbar-brand" href="/" style="align-children: middle">
        <span class="" aria-hidden="true"></span>
            Example
        </a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#site-nav" aria-expanded="false" aria-label="Toggle navigation">
            <span class="sr-only">Toggle navigation</span>
            <span class="navbar-toggler-icon"></span>
        </button>

        <div class="collapse navbar-collapse ml-auto" id="site-nav">
            <ul class="navbar-nav mr-auto">
                <li class="nav-item active">
                    <a class="nav-link" href="/">Home
                        <span class="sr-only">(current)</span>
                    </a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="/agencies/">Agencies</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="/meetings/">Meetings</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="/agenda/">Agenda</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="/documents/">Documents</a>
                </li>
            </ul>
            <form class="form-inline mt-3 mb-3" role="search" action="/search/" method="post">
                <div class="btn-group">
                    <input type="text" name="request" class="form-control" placeholder="Search Documents">
                    <button type="submit" class="btn search-button">Search</button>
                </div>
            </form>
        </div>
    </div>
</nav>

【问题讨论】:

    标签: css twitter-bootstrap bootstrap-4 navbar


    【解决方案1】:

    您可以使用响应式 flexbox 方向工具。例如,flex-column flex-xl-row 上的 navbar-collapse

    <nav class="navbar navbar-expand-md fixed-top navbar-dark bg-dark">
        <div class="container">
            <a class="navbar-brand" href="/" style="align-children: middle">
            <span class="" aria-hidden="true"></span>
                Example
            </a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#site-nav" aria-expanded="false" aria-label="Toggle navigation">
                <span class="sr-only">Toggle navigation</span>
                <span class="navbar-toggler-icon"></span>
            </button>
    
            <div class="collapse navbar-collapse ml-auto align-items-start align-items-xl-center flex-column flex-xl-row" id="site-nav">
                <ul class="navbar-nav mr-auto">
                    <li class="nav-item active">
                        <a class="nav-link" href="/">Home
                            <span class="sr-only">(current)</span>
                        </a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="/agencies/">Agencies</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="/meetings/">Meetings</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="/agenda/">Agenda</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="/documents/">Documents</a>
                    </li>
                </ul>
                <form class="form-inline ml-2" role="search" action="/search/" method="post">
                    <div class="form-group">
                        <input type="text" name="request" class="form-control" placeholder="Search Documents">
                    </div>
                    <button type="submit" class="btn search-button">Search</button>
                </form>
            </div>
        </div>
    </nav>
    

    https://www.codeply.com/go/ZEyl77GzA8

    注意:您使用的是navbar-expand-md,因此导航栏将折叠到 sm 上的切换器中。如果您想在 md 上显示堆叠的菜单/表单,则应将导航栏扩展为 sm

    另见:Bootstrap 4 navbar with 2 rows

    【讨论】:

    • 我认为你的意思是“你应该增加导航栏扩展到lg”(在中等屏幕上显示切换器)
    【解决方案2】:

    将搜索表单的内容放在一个btn-group 中,这样可以将它们放在一起:

            <form class="form-inline mt-3 mb-3" role="search" action="/search/" method="post">
                <div class="btn-group" role="group" aria-label="Basic example">
                    <input type="text" name="request" class="form-control" placeholder="Search Documents">
                    <button type="submit" class="btn search-button">Search</button>
                </div>
            </form>
    

    【讨论】:

      猜你喜欢
      • 2018-10-14
      • 2021-10-25
      • 2015-11-08
      • 2018-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-10
      • 1970-01-01
      相关资源
      最近更新 更多