【问题标题】:Move search box to the center in responsive mode在响应模式下将搜索框移动到中心
【发布时间】:2017-04-05 02:24:50
【问题描述】:

我正在使用来自this 参考的引导导航栏,并且我正在尝试在移动设备上用户无需单击菜单图标即可在页面上进行搜索。因此,尝试在响应模式下的品牌之后显示搜索框。

Bootstrap 在普通桌面浏览器中看起来像这样:

在响应模式下看起来像这样:

我必须将该搜索框和登录选项移动到移动设备上的品牌之后的中心显示。我尝试使用 css 将搜索框移出导航栏,但它搞砸了我的整个 HTML。

谁能指导我,怎么做? 这里是

[JSFiddle Link][4] - https://jsfiddle.net/mzy1sak3/1/

【问题讨论】:

    标签: html css responsive-design navbar


    【解决方案1】:

    当我们点击移动设备中的导航栏切换按钮时,导航栏折叠菜单将显示,因为导航菜单具有默认导航栏搜索选项。如果不更改引导默认行为,则无法更改它,但有一个棘手的选择。您可以通过添加名为“hidden-xs”的额外类来隐藏它。然后您可以放置​​另一个带有“visible-xs”类的 div,您可以在其中放置移动设备的表单。

    这里是示例 html:

    <!-- Navbar -->
        <nav class="navbar navbar-default" role="navigation">
            <div class="container-fluid">
                <!-- Brand and toggle get grouped for better mobile display -->
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
                        <span class="sr-only">Toggle navigation</span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
    
                    <a class="navbar-brand" href="#">Title</a>
    
                    <div class="visible-xs">
                        <form class="navbar-search-sm" role="search">
                            <div class="form-group">
                                <input type="text" class="form-control" placeholder="Search">
                            </div>
                        </form>
    
                        <ul class="list-inline navbar-links-sm">
                            <li><a href="#">Login</a></li>
                        </ul>
    
                    </div>
    
                </div>
    
                <!-- Collect the nav links, forms, and other content for toggling -->
                <div class="collapse navbar-collapse navbar-ex1-collapse">
                    <ul class="nav navbar-nav">
                        <li class="active"><a href="#">Link</a></li>
                        <li><a href="#">Link</a></li>
                    </ul>
                    <form class="navbar-form navbar-left hidden-xs" role="search">
                        <div class="form-group">
                            <input type="text" class="form-control" placeholder="Search">
                        </div>
                    </form>
                    <ul class="nav navbar-nav navbar-right">
                        <li><a href="#">Link</a></li>
                        <li class="dropdown">
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
                            <ul class="dropdown-menu">
                                <li><a href="#">Action</a></li>
                                <li><a href="#">Another action</a></li>
                                <li><a href="#">Something else here</a></li>
                                <li><a href="#">Separated link</a></li>
                            </ul>
                        </li>
                    </ul>
                </div><!-- /.navbar-collapse -->
            </div>
        </nav>
        <!-- End Navbar -->
    

    你可以像这样自定义css:

    .navbar-search-sm{ display: inline-block; margin-top: 8px; }
    .navbar-search-sm .form-group{ width: 300px; margin-bottom: 0; }
    .navbar-links-sm{ display: inline-block; margin-left: 15px; }
    

    【讨论】:

    • @GiulioBambini- 谢谢。这有点我想要的。需要更多帮助。这种设计在 iPad 模式下是完美的,但在移动设备上,搜索框在菜单栏之后下降。
    【解决方案2】:

    这是一种方法 使用 iPhone 5 和 5S 的屏幕分辨率

    将 ul 输入标签和登录 div 包装在另一个 id 为 form_login 且低于上述样式的 div 中

    @media screen and (min-width: 320px) and (max-width: 568px) {
      #form_login {
        position: absolute;
        top: 0;
        transform: translate(0, 50%);
      }
      #navbarCollapse {
        padding-top: 120px;
      }
    }
    

    参见小提琴here(调整窗口宽度)

    您需要为其他设备应用其他媒体规则

    【讨论】:

    • 感谢您的回复。我正在尝试的是,在移动设备上,用户无需单击菜单图标即可在页面上进行搜索。因此,试图在响应模式下的品牌之后显示搜索框。将更新我的问题。
    猜你喜欢
    • 2021-12-29
    • 2019-08-21
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多