Bootstrap 4 - 防止导航栏链接换行

6
当导航栏中链接过多时,缩放页面后,链接将会换行。在链接塌缩之前,希望它们能保持同一行。
以下代码片段(查看完整大小)中有6个链接,当你缩放页面时,会存在一定的缩放比例使得链接换行(在导航栏塌缩之前)。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" rel="stylesheet"/>
<nav class="navbar navbar-expand-lg navbar-light fixed-top">
    <div class="container">
        <a class="navbar-brand mx-auto" href="#">
   Logo
        </a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarTogglerDemo02" aria-controls="navbarTogglerDemo02" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse text-right" id="navbarTogglerDemo02">         
            <ul class="navbar-nav ml-auto mt-2 mt-lg-0">
                <li class="nav-item main-nav">
                    <a class="nav-link" href="#">Navbar Link Number 1</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Navbar Link Number 2</a>
                </li>
                <li class="nav-item">
                    <a  class="nav-link" href="#">Navbar Link Number 3</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Navbar Link Number 4</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Navbar Link Number 5</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Navbar Link Number 6</a>
                </li>
           </ul>
        </div>
    </div>
</nav>

3个回答

15

在链接上使用text-nowrap实用程序类...

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

<nav class="navbar navbar-expand-lg navbar-light fixed-top">
    <div class="container">
        <a class="navbar-brand mx-auto" href="#">
            Logo
        </a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarTogglerDemo02" aria-controls="navbarTogglerDemo02" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse text-right" id="navbarTogglerDemo02">         
            <ul class="navbar-nav ml-auto mt-2 mt-lg-0">
                <li class="nav-item main-nav">
                    <a class="nav-link text-nowrap" href="#">Navbar Link Number 1</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link text-nowrap" href="#">Navbar Link Number 2</a>
                </li>
                <li class="nav-item">
                    <a  class="nav-link text-nowrap" href="#">Navbar Link Number 3</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link text-nowrap" href="#">Navbar Link Number 4</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link text-nowrap" href="#">Navbar Link Number 5</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link text-nowrap" href="#">Navbar Link Number 6</a>
                </li>
           </ul>
        </div>
    </div>
</nav>

谢谢你,Zim!(不是你第一次帮助我了!) - user9644796

0

对于从谷歌搜索而来的任何人,请不要像其他解决方案中提到的那样使用&nbsp;,这会使内容难以管理,并使用标记来指定呈现方式。

您可以通过一个简单的类来模仿Bootstrap的做法,例如:

.text-nowrap {
    white-space: nowrap !important;
}

由于它是一个实用类,使用!important是可以的。

希望这有所帮助。


0

如果放大页面的用户不多,隐藏溢出链接比将菜单拆分成两行更好:

<style>
   @media (min-width: 1201px) {
        .navbar-nav {
            overflow: hidden !important;
            max-height: 50px;
        }
   }
</style>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接