Bootstrap 5 - justifty-content-end 不起作用

问题描述 投票:0回答:4

我正在尝试使用 bootstrap 5 创建一个标题。在标题中,我有一个导航栏,其中包含我想浮动到右侧的链接。查看引导网站后,我注意到他们在菜单列表项中添加了 justifty-content-end 类。当我这样做时,项目保留在左侧。我什至尝试将 float: right 添加到导航中,但这也不起作用。

这是我的html

<nav class="navbar navbar-dark bg-dark">
  <!-- Navbar content -->
      <ul class="nav justify-content-end" id="myNavbar">
  <li class="nav-item">
    <a class="nav-link" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
</ul>

我的CSS

ul {
float: right !important:
}

有人可以解释一下如何解决这个问题吗?

html css twitter-bootstrap bootstrap-5
4个回答
0
投票

检查这个解决方案,我已经在我的机器上尝试过了,这段代码工作正常。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" >
</head>
<body>

    <nav class="navbar navbar-dark bg-dark d-flex justify-content-end">
        <!-- Navbar content -->
            <ul class="nav" id="myNavbar">
        <li class="nav-item">
          <a class="nav-link" href="#">Active</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Link</a>
        </li>
      </ul>

      <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" ></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" ></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
    
</body>
</html>

0
投票

这对我有用。

<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"/>
<nav class="navbar navbar-dark bg-dark">
  <!-- Navbar content -->
  <div class="container-fluid d-flex justify-content-end">
    <ul class="nav" id="myNavbar">
      <li class="nav-item">
        <a class="nav-link" href="#">Active</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Link</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Link</a>
      </li>
    </ul>
  </div>
</nav>


0
投票

我也遇到了完全相同的问题。无论我在哪里应用 justify-content-end,即 nav 元素或 ul,它都不会起作用。

我终于找到了一些有用的东西:我将“ms-auto”类放置在导航栏的 ul 中。这将默认边距 (m) 位置 (e = 结束) 切换到导航项的左侧 (s = 开始) - 用于从右到左书写。

这是对我有用的东西:

<nav class="navbar navbar-dark bg-dark">
<!-- Navbar content -->
<ul class="nav ms-auto" id="myNavbar">
  <li class="nav-item">
    <a class="nav-link" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
</ul>
</nav>

值得注意的是,在 Bootstrap 4 中,这些类使用了 ml(左边距)和 mr(右边距),并在 Bootstrap 5 中切换为 ms(边距开始)和 me(边距结束),以便与 RTL 和 LTR 编写者无关,我自己让自己找到这个问题的答案变得更加困难,因为其中有很多都提到了ML和先生。希望这有帮助。


-1
投票

因为导航栏的宽度不是页面的100%。即使您设置了导航栏内容的浮动,它也只会在导航栏中发生变化。

您可以尝试将导航栏的浮动设置到右侧。

或者将导航栏的宽度设置为 100% 并向内容添加 float:right ,如下所示。

<nav class="navbar navbar-dark" style="background-color:green;width:100%;height:100px;">
  <!-- Navbar content -->
      <ul class="nav justify-content-end" style="float:right;" id="myNavbar">
  <li class="nav-item">
    <a class="nav-link" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
</ul>

© www.soinside.com 2019 - 2024. All rights reserved.