我有一个用Twitter Bootstrap制作的网站。在大屏幕上,导航栏应该看起来不错,但如果您在手机上看到相同的导航栏,导航栏将不会崩溃。
这是我的代码:
<div class="container">
<div class="masthead">
<div class="navbar">
<div class="navbar-inner">
<div class="container">
<ul class="nav">
<li class="active"><a href="/" class="">Home</a></li>
<li><a href="goud-zilver.html">Oud goud en zilver</a></li>
<li><a href="koersen.html">Officiële koersen</a></li>
<li><a href="webshop/" target="_blank">Webwinkel</a></li>
<li><a href="diversen.html">Diversen</a></li>
<li><a href="contact.php">Contact</a></li>
</ul>
</div>
</div>
</div><!-- /.navbar -->
</div>
在第三课上我也尝试使用nav-collapse但是它也在大屏幕上折叠了。
答案 0 :(得分:7)
是按照说明from Betty St(包括响应式css,bootstrap-collapse.js和Transitions插件更新:(bootstrap-transition.js)和jQuery)。您需要添加一个触发崩溃的按钮/链接。此标记获取属性:data-toggle =“collapse”data-target =“。nav-collapse”其中data-target可以是任何css选择器。将导航放在数据目标下选择的标记之间,请参阅:http://bootply.com/62921
<强> HTML 强>:
<div class="container">
<div class="masthead">
<div class="navbar">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<div class="nav-collapse">
<ul class="nav">
<li class="active"><a href="/" class="">Home</a></li>
<li><a href="goud-zilver.html">Oud goud en zilver</a></li>
<li><a href="koersen.html">Officiële koersen</a></li>
<li><a href="webshop/" target="_blank">Webwinkel</a></li>
<li><a href="diversen.html">Diversen</a></li>
<li><a href="contact.php">Contact</a></li>
</ul>
</div>
</div>
</div>
</div><!-- /.navbar -->
</div>
</div>
<强>更新强> 您的代码缺少Collapse插件所需的Transitions插件(bootstrap-transition.js)。更重要的是你没有包含jQuery。 现在应该可以看到:http://plnkr.co/l66QqCftGNsaG0xkBrUf
javascript包括:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="http://twitter.github.io/bootstrap/assets/js/bootstrap-transition.js"></script>
<script type="text/javascript" src="http://twitter.github.io/bootstrap/assets/js/bootstrap-collapse.js"></script>
注意:考虑包括完整javascripts的编译(或缩小)版本:
<script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>
您还需要在折叠后更改样式:
.navbar .in .nav li {
display: block;
float: none;
width:100%;
}
答案 1 :(得分:7)
我有类似的问题。我完全不知道为什么我的导航栏没有在手机中折叠。我发现我错过了以下元标记。
<meta name="viewport" content="width=device-width, user-scalable=false;">
这将解决问题。
答案 2 :(得分:5)
你需要包含twitter bootstrap的响应式css文件,还需要使用bootstrap-collapse.js。
请注意“{3}}上有关”响应式导航栏“的信息:
抬起头来!响应式导航栏需要折叠插件和响应式Bootstrap CSS文件。
<强>快速链接:强>
答案 3 :(得分:1)
id
。如果它已经有一个,请注意它。您的父div将成为其直接子项包含下拉列表[链接,按钮等] data-toggle
和data-target
添加到我们之前谈到的父div 的每个子元素。id="my_parent_div"
,子元素应在链接属性中附加data-toggle="collapse" data-target="#my_parent_div"
。以下是我的固定导航栏代码中的示例:
<div class="collapse navbar-collapse" id="example-navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="#book" data-toggle="collapse" data-target="#example-navbar-collapse">Book a Room!</a></li>
<li class="divider"></li>
<li><a href="#services" data-toggle="collapse" data-target="#example-navbar-collapse">Services</a></li>
<li><a href="#packages" data-toggle="collapse" data-target="#example-navbar-collapse">Packages</a></li>
<li><a href="#contacts" data-toggle="collapse" data-target="#example-navbar-collapse">Location</a></li>
</ul>
</div>
希望这会有所帮助:)
答案 4 :(得分:0)
我遇到了同样的问题,我发现我正在加载jQuery两次,而且我在页脚中加载了jQuery,AFTER bootstrap。由于某种原因,除了崩溃之外,其他所有工作都在页面上工作。我回到了基础,它解决了这个问题。加载jQuery,然后引导,并确保没有其他随机包含加载jQuery的页面。 这涉及bootstrap 4 nav元素。
答案 5 :(得分:0)
要添加到“尘土飞扬”中,我也遇到了问题,并尝试先加载JQuery,然后尝试加载Boostrap,但问题没有得到解决,并从下面的链接中注意到了另一个提示:-
https://www.freecodecamp.org/forum/t/solved-my-bootstrap-navbar-toggle-is-not-toggling/15222/20
要添加Bootstrap.min.js而不是Bootstrap.min.css。添加js时,请不要删除Bootstrap.min.css。两者都添加后,问题就解决了。