问题描述
就像在Bootstrap 4导航栏中一样,是否不使用适配器隐藏某些点?也就是说,宽度为1200像素时,您需要隐藏除两点以外的所有点,且不能重复。该怎么办?
我找到了一个如何工作的示例,但是我不明白如何使用Bootstrap。
示例https://jsfiddle.net/abhitalks/y0ypz38w
代码Navbar Bootstrap 4
<!-- CSS only -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZonixN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
<!-- JS,Popper.js,and jQuery -->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV" crossorigin="anonymous"></script>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Navbar w/ text</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarText">
<ul class="navbar-nav ml-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Leave </a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Leave </a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Pricing</a>
</li>
</ul>
</div>
</nav>
解决方法
您可以在display
等项目上使用d-none
属性,如果要隐藏小屏幕上的“主页”项目,则可以使用类似以下内容:
<li class="nav-item active d-block d-sm-none">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
这里d-block
适用于所有屏幕尺寸,当您点击小尺寸时,d-sm-none
将起作用,并且将隐藏您的nav-item
。
class="d-none d-sm-block"
您可以将sm更改为所需的断点。这将使所有超出该断点的内容都可见
,如果希望隐藏在Tablet尺寸或更小的平板电脑上,请在d-block d-md-none
上使用<li>
。您也可以将其更改为所需的任何内容,只需换掉md并使用其他功能。以下是您可以使用的清单:https://getbootstrap.com/docs/4.0/utilities/display/#hiding-elements
要隐藏平板电脑尺寸上的“剩余”,您只需要在d-block d-md-none
上添加<li>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Navbar w/ text</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarText">
<ul class="navbar-nav ml-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item d-none d-md-block">
<a class="nav-link" href="#">Leave</a>
</li>
<li class="nav-item"">
<a class="nav-link" href="#">Pricing</a>
</li>
</ul>
</div>
</nav>
,
要执行所需的操作,您必须在navbar-brand
上插入这些链接。
这看起来可能并不整洁,但是可以为您提供您想要的功能。
此外,您可能要重新考虑在折叠导航栏时使3个链接可见。在较小的(sm)
断点(420px)上可能最多保留2个,在中等(md)
的断点(768px)上最多3个可见的
编辑:考虑到这样做的方法,您可以仅建立3个navbar-brand
链接而不是1个链接,然后将第三个链接设置为仅在不破坏布局的断点处显示,无论是中小型的。
<!-- CSS only -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
<!-- JS,Popper.js,and jQuery -->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV" crossorigin="anonymous"></script>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">
Navbar brand
</a>
<a class="navbar-brand" href="#">
Leave #1
</a>
<a class="navbar-brand d-none d-md-inline" href="#">
Leave #2
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarText">
<ul class="navbar-nav ml-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Pricing</a>
</li>
</ul>
</div>
</nav>