Je n’ai eu aucun problème avec la barre de navigation réactive dans la dernière version de Bootstrap, mais je ne parviens pas à faire fonctionner la version 3. Le bouton bascule apparaît correctement et tout disparaît sauf la marque, mais le bouton ne répond pas aux clics. ( http://getbootstrap.com/components/#navbar-responsive ) Toute aide serait grandement appréciée! Voici le code jusqu'à présent:
<!DOCTYPE html>
<html>
<html lang="en">
<head>
<title>Hello World</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="js/bootstrap.min.js"></script>
<link href="css/bootstrap.css" rel="stylesheet" media="screen">
</head>
<body>
<section>
<div class="navbar navbar-fixed-top">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-responsive-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a href= "#" class="navbar-brand">Brand Name</a>
<div class="nav-collapse navbar-responsive-collapse collapse">
<ul class="nav navbar-nav pull-right">
<li class="active "><a href="#">Home</a></li>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
<li><a href="#">Link 4</a></li>
</ul>
</div>
</div>
</section>
Je crois que le code ci-dessous produira l'effet que vous recherchez. Plus précisément, il n’existe pas de classe " navbar-responsive-collapse " dans BS3 (voir le fichier "bootstrap.css"). À partir de la version 3, Twitter Bootstrap étant réactif par défaut, de nombreux indicateurs de code de réactivité sont désormais intégrés au framework et ne doivent plus être appelés explicitement.
Voici une version BS3 du menu déroulant aligné à droite:
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a href= "#" class="navbar-brand">Brand Name</a>
</div>
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav pull-right">
<li class="active "><a href="#">Home</a></li>
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
<li><a href="#">Link 4</a></li>
</ul>
</div>
</div>
Changer ceci: .navbar-responsive-collapse
à ceci: .navbar-collapse
Affiche originale a résolu sa propre question. Afficher une version plus concise ici car cela m'a aidé. La version de PhilNicholas ne fonctionnait pas.
Twitter Bootstrap utilise le plugin Collapse jquery fourni pour faire basculer le menu de navigation sur les facteurs de forme de l'écran mobile. Votre question concerne une version légèrement ancienne de bootstrap mais reste pertinente. La bascule peut être déclenchée sur un élément en définissant:
data-toggle="collapse"
et data-target="#valid_css_selector_of_target_element"
.
Le problème ici est le dernier. En ce qui concerne le fonctionnement du plug-in Collapse, peu importe que vous ayez une classe d'amorçage prédéfinie .navbar-responsive-collapse
, la seule chose qui compte ici est que l'élément existe dans votre code HTML. L'existence d'une classe bootstrap aurait toutefois très probablement une incidence sur la façon dont elle est stylée.
La documentation de bootstrap au moment de l'écriture (et je crois depuis longtemps) montre, via un exemple, l'utilisation de l'utilisation d'un attribut id pour sélectionner l'élément cible; ce que je trouve un peu mieux car il peut y avoir plus d’un élément avec la même classe sur la même page, alors que les identifiants sont uniques dans un document html. Donc, dans votre cas:
<div class="collapse navbar-collapse navbar-ex1-collapse">
ressemblerait à quelque chose comme <div class="collapse navbar-collapse navbar-ex1-collapse" id="my_nav">
et le bouton bascule aurait un attribut data-target="#my_nav"
.
Bootstrap 3 nécessite jquery.
-> Meilleure pratique pour mettre vos scripts à la fin aussi.
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="js/bootstrap.min.js"></script>
Cela a fonctionné pour moi: j'ai changé .navbar-ex1-collapse en .navbar-collapse.
J'utilise Bootstrap 3.2.0. Ce qui a résolu ce problème pour moi, c’était de changer de version de jQuery. Apparemment, jQuery 1.7.1 n'est pas compatible avec le dernier bootstrap. Après le passage à jQuery 2.0.2, tout allait bien:
<script type='text/javascript' src="//ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
assurez-vous de lier le bootstrap.cs
avant le bootstrap-responsive.css
<link href="css/bootstrap.css" rel="stylesheet" />
<link href="css/bootstrap-responsive.css" rel="stylesheet" />