Bootstrap 4 导航栏即使在切换时也能保持部分正确 [英] Bootstrap 4 Navbar keep section on right even when toggled

查看:22
本文介绍了Bootstrap 4 导航栏即使在切换时也能保持部分正确的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使登录部分"保持在右上角,即使切换开关已展开.我尝试浮动该部分,但没有奏效.

这是我的代码:

<nav class="navbar navbar-expand-lg bg-dark navbar-dark fixed-top"><div class="容器"><div class="navbar-header"><button class="navbar-toggler"类型=按钮"数据切换=折叠"数据目标=#mymenu"><span class="sr-only">切换导航</span><span class="navbar-toggler-icon"></span><a href="#" class="navbar-brand">App</a>

<div class="collapse navbar-collapse" id="mymenu"><!-- 导航主体--><ul class="nav navbar-nav mr-auto"><li class="active nav-item"><a class="nav-link" href="index.html">首页</a></li><li class="nav-item"><a class="nav-link" href="#">项目 1</a></li><li class="nav-item"><a class="nav-link" href="#">项目 2</a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle"数据切换=下拉"角色=按钮"href="#">第 3 项</a><ul class="下拉菜单"><li><a class="dropdown-item" href="#">Item 3.1</a></li><li><a class="dropdown-item" href="#">Item 3.2</a></li><li><a class="dropdown-item" href="#">Item 3.3</a></li><!-------------------搜索----------------------><form class="form-inline my-2 my-lg-0 position-relative"><input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search"><button class="btn btn-outline-light my-2 my-sm-0" type="submit">搜索</button></表单>

<!--------------------用户------------><div class="ml-lg-5"><a class="navbar-brand" href="#">登录</a>

</nav>

感谢您考虑我的请求.

解决方案

你可以使用 flexbox 排序类 来调整登录"div 的位置.例如将它放在标记中的 navbar-collapse 之前,然后使用 order-lg-last order-0 将其放置在较大屏幕上的最后(第 3 个),然后当移动导航栏被切换时,小屏幕中的自然顺序(第二).

https://www.codeply.com/go/7Mz5XkMckc

<nav class="navbar navbar-expand-lg bg-dark navbar-dark fixed-top"><div class="容器"><div class="navbar-header"><button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#mymenu"><span class="sr-only">切换导航</span><span class="navbar-toggler-icon"></span><a href="#" class="navbar-brand">App</a>

<div class="ml-lg-5 order-lg-last order-0"><a class="navbar-brand" href="#">登录</a>

<div class="collapse navbar-collapse" id="mymenu"><ul class="nav navbar-nav mr-auto"><li class="active nav-item"><a class="nav-link" href="index.html">首页</a></li><li class="nav-item"><a class="nav-link" href="#">项目 1</a></li><li class="nav-item"><a class="nav-link" href="#">项目 2</a></li><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" href="#">Item 3</a><ul class="下拉菜单"><li><a class="dropdown-item" href="#">Item 3.1</a></li><li><a class="dropdown-item" href="#">Item 3.2</a></li><li><a class="dropdown-item" href="#">Item 3.3</a></li><form class="form-inline my-2 my-lg-0 position-relative"><input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search"><button class="btn btn-outline-light my-2 my-sm-0" type="submit">搜索</button></表单>

</nav>

I try to make the "login section" stay on the right corner even when the toggle is expanded. I have try to float the section but it did not work.

Here is my code:

<nav class="navbar navbar-expand-lg bg-dark navbar-dark fixed-top">
        <div class="container">
            <div class="navbar-header">
                <button class="navbar-toggler"
                        type="button"
                        data-toggle="collapse"
                        data-target="#mymenu">
                    <span class="sr-only">toggle navigation</span>
                    <span class="navbar-toggler-icon"></span>
                </button>
                <a href="#" class="navbar-brand">App</a>

            </div>
            <div class="collapse navbar-collapse" id="mymenu"> 
                <!-- nav body -->
                <ul class="nav navbar-nav mr-auto">
                    <li class="active nav-item"><a class="nav-link" href="index.html">Home</a></li>
                    <li class="nav-item"><a class="nav-link" href="#">Item 1</a></li>
                    <li class="nav-item"><a class="nav-link" href="#">Item 2</a></li>
                    <li class="nav-item dropdown">
                        <a  class="nav-link dropdown-toggle"
                           data-toggle="dropdown" role="button"
                           href="#">Item 3
                        </a>
                        <ul class="dropdown-menu">
                            <li><a class="dropdown-item" href="#">Item 3.1</a></li>
                            <li><a class="dropdown-item" href="#">Item 3.2</a></li>
                            <li><a class="dropdown-item" href="#">Item 3.3</a></li>
                        </ul>
                    </li>
                </ul>
                <!-------------------Search---------------------->
                <form class="form-inline my-2 my-lg-0 position-relative">
                    <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
                    <button class="btn btn-outline-light my-2 my-sm-0" type="submit">Search</button>
                </form>


            </div>
            <!--------------------User---------------------->
            <div class="ml-lg-5">
                <a class="navbar-brand" href="#">Log In</a>
            </div>
        </div>
    </nav>

Thanks for considering my request.

解决方案

You can use the flexbox ordering classes to adjust the position of the "Log In" div. For example place it before the navbar-collapse in the markup, and then use order-lg-last order-0 to position it last (3rd) on larger screens, then natural order (2nd) in smaller screens when the mobile navbar is toggled.

https://www.codeply.com/go/7Mz5XkMckc

<nav class="navbar navbar-expand-lg bg-dark navbar-dark fixed-top">
    <div class="container">
        <div class="navbar-header">
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#mymenu">
                <span class="sr-only">toggle navigation</span>
                <span class="navbar-toggler-icon"></span>
            </button>
            <a href="#" class="navbar-brand">App</a>
        </div>
        <div class="ml-lg-5 order-lg-last order-0">
            <a class="navbar-brand" href="#">Log In</a>
        </div>
        <div class="collapse navbar-collapse" id="mymenu"> 
            <ul class="nav navbar-nav mr-auto">
                <li class="active nav-item"><a class="nav-link" href="index.html">Home</a></li>
                <li class="nav-item"><a class="nav-link" href="#">Item 1</a></li>
                <li class="nav-item"><a class="nav-link" href="#">Item 2</a></li>
                <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" data-toggle="dropdown" role="button" href="#">Item 3
                    </a>
                    <ul class="dropdown-menu">
                        <li><a class="dropdown-item" href="#">Item 3.1</a></li>
                        <li><a class="dropdown-item" href="#">Item 3.2</a></li>
                        <li><a class="dropdown-item" href="#">Item 3.3</a></li>
                    </ul>
                </li>
            </ul>
            <form class="form-inline my-2 my-lg-0 position-relative">
                <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
                <button class="btn btn-outline-light my-2 my-sm-0" type="submit">Search</button>
            </form>
        </div>
    </div>
</nav>

这篇关于Bootstrap 4 导航栏即使在切换时也能保持部分正确的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
其他开发最新文章
热门教程
热门工具
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆