Eu criei esta barra de navegação recolhível usando o Bootstrap 4 que funciona bem, mas gostaria que fechasse quando o usuário clicar em um link. Alguma maneira de fazer isso? obrigado
html navbar:
<nav class="navbar navbar-toggleable-md fixed-top">
<button id="nav-btn"class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarDiv" aria-expanded="false" aria-label="Toggle navigation">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="container">
<a class="navbar-brand" href="#"><img src="Images/logo.png" width="60px"></a>
<div class="collapse navbar-collapse" id="navbarDiv">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#home">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#about-us">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#pricing">Pricing</a>
</li>
</ul>
</div>
</div>
</nav>
css para .icon-bar, já que o Bootstrap 4 não usa a classe icon-bar.
.navbar-toggler .icon-bar {
margin: 7px;
display: block;
width: 22px;
height: 1px;
background-color: #cccccc;
border-radius: 1px;
}
html
css
twitter-bootstrap
bootstrap-4
twitter-bootstrap-4
Rudi Thiel
fonte
fonte
<span class="navbar-toggler-icon"></span>
para as barras de ícones no BS 4.navbar-inverse
na Navbar para alterar todas as cores do texto para branco (ou branco transparente)data-toggle
edata-target
como o elemento pai (li
), caso contrário, scrollspy não funcionará. Talvez você deva editar sua resposta. :)Estou usando o ANGULAR e como ele me deu problemas, o routerLink apenas adiciona o data-toggle e o destino na tag li .... ou use jquery como "ZimSystem"
fonte
data-toggle="collapse" data-target=".navbar-collapse.show"
a li's incluindo dropdown li.Você pode chamar
$.collapse('hide');
com um manipulador de eventos nos links.fonte
Ao experimentar as soluções acima, estava faltando uma solução para os seletores suspensos, então aqui está! Também abre itens de submenu.
Talvez você precise ajustá-lo um pouco se sua classe de alternância for diferente.
fonte
$(".navbar-nav li a:not('.dropdown-toggle')") .on('click', function () { $('.navbar-collapse').collapse('hide'); }
esta é a solução para fechar o menu ao clicar na âncora e aplicar esta linha no item da lista
o exemplo real que funciona para mim está abaixo
fonte
Estou usando Angular 5 com Boostrap 4. Funciona assim para mim.
fonte
A maneira mais fácil de fazer isso usando apenas o modelo Angular 2/4 sem codificação:
fonte
Este código simula um clique no botão do hambúrguer para fechar a barra de navegação clicando em um link do menu, mantendo o efeito fade out. Solução com datilografia para angular 7. Evite problemas de routerLink.
fonte
você pode usar um simplesmente vincular ao clicar e fechar, assim:
(click)="drawer.close()
fonte