如何在 Bootstrap 5 中将导航项目向右对齐? [英] How to align nav items to the right in Bootstrap 5?

查看:53
本文介绍了如何在 Bootstrap 5 中将导航项目向右对齐?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我从 https://www.codeply.com/go/qhaBrcWp3v 复制了导航栏 HTML 代码

示例 6:

<div class="collapse navbar-collapse flex-grow-1 text-right";id="myNavbar"><ul class="navbar-nav ml-auto flex-nowrap"><li class="nav-item"><a href="#";class=nav-link m-2 menu-item nav-active">我们的解决方案</a><li class="nav-item"><a href="#";class="nav-link m-2 menu-item">我们如何提供帮助</a><li class="nav-item"><a href="#";class="nav-link m-2 menu-item">Bdfdsfslog</a><li class="nav-item"><a href="#";class="nav-link m-2 menu-item">联系人</a>

代码将导航项目保持在右侧,但是当我粘贴它并运行我的 HTML 代码时,它不起作用,所有项目都在左侧

这是我的 index.html

<头><title>网站模板</title><link rel="样式表";href="style.css"><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css";rel=样式表"完整性=sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1"crossorigin=匿名"><script src=https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js"完整性=sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW"crossorigin=匿名"></script><body data-spy="scroll";数据目标=#navbarResponsive"><div id="home"></div><!-- 导航--><nav class="navbar navbar-expand-lg navbar-light bg-light"><div class="d-flex flex-grow-1"><span class="w-100 d-lg-none d-block"><!-- 隐藏的间隔以在移动设备上集中品牌-></span><a class="navbar-brand d-none d-lg-inline-block";href=#">导航栏 6</a><a class="navbar-brand-two mx-auto d-lg-none d-inline-block";href=#"><img src="//placehold.it/40?text=LOGO";alt=标志"></a><div class="w-100 text-right"><button class="navbar-toggler";类型=按钮"数据切换=折叠"数据目标=#myNavbar"><span class="navbar-toggler-icon"></span>

<div class="collapse navbar-collapse flex-grow-1 text-right";id="myNavbar"><ul class="navbar-nav ml-auto flex-nowrap"><li class="nav-item"><a href="#";class=nav-link m-2 menu-item nav-active">我们的解决方案</a><li class="nav-item"><a href="#";class="nav-link m-2 menu-item">我们如何提供帮助</a><li class="nav-item"><a href="#";class="nav-link m-2 menu-item">Blog</a><li class="nav-item"><a href="#";class="nav-link m-2 menu-item">联系人</a>

</nav><!-- 导航结束-->

我已经尝试了 https://getbootstrap 中的 Navbar 代码.com/docs/5.0/components/navbar/ 但我不知道如何移动导航项目(ml-auto 不起作用)

解决方案

来自我的示例 Codeply 的代码正在使用 Bootstrap 4,但您的代码使用 Bootstrap 5 测试版.如果您查看新的 Bootstrap 5 间距实用程序类,您会看到...

为什么左边距 (ml-*) 在 Bootstrap 5 中不起作用?

ml-auto 不再存在,Bootstrap 5 等效项将是 ms-auto:

演示:https://codeply.com/p/zzFC5XoyUm


为什么右边距 (mr-*) 在 Bootstrap 5 中不起作用?

此外,mr-auto 已替换为 me-auto.

在这里您可以了解 Bootstrap 5 为何使用 startend 方法提高 RTL 支持,因为 leftright 是绝对的,而 startend 是相对的.

justify-content-end 等 flexbox 实用程序也可以用作 在此处解释

I have copied a navbar HTML code from https://www.codeply.com/go/qhaBrcWp3v

Example 6:

<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="d-flex flex-grow-1">
    <span class="w-100 d-lg-none d-block"><!-- hidden spacer to center brand on mobile --></span>
    <a class="navbar-brand d-none d-lg-inline-block" href="#">
        Navbar 6
    </a>
    <a class="navbar-brand-two mx-auto d-lg-none d-inline-block" href="#">
        <img src="//placehold.it/40?text=LOGO" alt="logo">
    </a>
    <div class="w-100 text-right">
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#myNavbar">
            <span class="navbar-toggler-icon"></span>
        </button>
    </div>
</div>
<div class="collapse navbar-collapse flex-grow-1 text-right" id="myNavbar">
    <ul class="navbar-nav ml-auto flex-nowrap">
        <li class="nav-item">
            <a href="#" class="nav-link m-2 menu-item nav-active">Our Solution</a>
        </li>
        <li class="nav-item">
            <a href="#" class="nav-link m-2 menu-item">How We Help</a>
        </li>
        <li class="nav-item">
            <a href="#" class="nav-link m-2 menu-item">Bdfdsfslog</a>
        </li>
        <li class="nav-item">
            <a href="#" class="nav-link m-2 menu-item">Contact</a>
        </li>
    </ul>
</div>

The code keeps the nav items to right but when I paste it and run my HTML code it doesn't work and all items are in the left place

here is my index.html

<html>
<head>
    <title>Website Template</title>
    <link rel="stylesheet" href="style.css"> 
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous">
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js" 
            integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW" crossorigin="anonymous"></script>
</head>
<body data-spy="scroll" data-target="#navbarResponsive">
    <div id="home"></div>
    <!-- NAVIGATION -->
    <nav class="navbar navbar-expand-lg navbar-light bg-light">
        <div class="d-flex flex-grow-1">
            <span class="w-100 d-lg-none d-block"><!-- hidden spacer to center brand on mobile --></span>
            <a class="navbar-brand d-none d-lg-inline-block" href="#">
                Navbar 6
            </a>
            <a class="navbar-brand-two mx-auto d-lg-none d-inline-block" href="#">
                <img src="//placehold.it/40?text=LOGO" alt="logo">
            </a>
            <div class="w-100 text-right">
                <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#myNavbar">
                    <span class="navbar-toggler-icon"></span>
                </button>
            </div>
        </div>
        <div class="collapse navbar-collapse flex-grow-1 text-right" id="myNavbar">
            <ul class="navbar-nav ml-auto flex-nowrap">
                <li class="nav-item">
                    <a href="#" class="nav-link m-2 menu-item nav-active">Our Solution</a>
                </li>
                <li class="nav-item">
                    <a href="#" class="nav-link m-2 menu-item">How We Help</a>
                </li>
                <li class="nav-item">
                    <a href="#" class="nav-link m-2 menu-item">Blog</a>
                </li>
                <li class="nav-item">
                    <a href="#" class="nav-link m-2 menu-item">Contact</a>
                </li>
            </ul>
        </div>
    </nav>
    <!-- END OF NAVIGATION -->
</body>

I have tried Navbar code from https://getbootstrap.com/docs/5.0/components/navbar/ but I don't know how can I move nav items (ml-auto didn't work)

解决方案

The code from my example Codeply is using Bootstrap 4, but your code is using Bootstrap 5 beta. If you take a look at the new Bootstrap 5 spacing utility classes you'll see that...

Why margin left (ml-*) is not working in Bootstrap 5?

ml-auto no longer exists, and the Bootstrap 5 equivalent would be ms-auto:

<nav class="navbar navbar-expand-lg navbar-light bg-light">
    <div class="d-flex flex-grow-1">
        <span class="w-100 d-lg-none d-block">
            <!-- hidden spacer to center brand on mobile --></span>
        <a class="navbar-brand d-none d-lg-inline-block" href="#"> Navbar 6 </a>
        <a class="navbar-brand-two mx-auto d-lg-none d-inline-block" href="#">
            <img src="//placehold.it/40?text=LOGO" alt="logo">
        </a>
        <div class="w-100 text-right">
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#myNavbar">
                <span class="navbar-toggler-icon"></span>
            </button>
        </div>
    </div>
    <div class="collapse navbar-collapse flex-grow-1 text-right" id="myNavbar">
        <ul class="navbar-nav ms-auto flex-nowrap">
            <li class="nav-item">
                <a href="#" class="nav-link m-2 menu-item nav-active">Our Solution</a>
            </li>
            <li class="nav-item">
                <a href="#" class="nav-link m-2 menu-item">How We Help</a>
            </li>
            <li class="nav-item">
                <a href="#" class="nav-link m-2 menu-item">Blog</a>
            </li>
            <li class="nav-item">
                <a href="#" class="nav-link m-2 menu-item">Contact</a>
            </li>
        </ul>
    </div>
</nav>

Demo: https://codeply.com/p/zzFC5XoyUm


Why margin right (mr-*) is not working in Bootstrap 5?

Additionally, mr-auto has been replaced with me-auto.

Here you can read why Bootstrap 5 uses the start and end approach to improve RTL support since left and right are absolute, while start and end are relative.

The flexbox utils such as justify-content-end can also be used as explained here

这篇关于如何在 Bootstrap 5 中将导航项目向右对齐?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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