Проблемы с чувствительной навигационной панелью в Bootstrap 3
У меня не было проблем с отзывчивым навигатором в последней версии Bootstrap, но я не могу заставить версию 3 работать. Кнопка переключения отображается правильно, и все исчезает, но бренд, но кнопка не реагирует на клики. (http://getbootstrap.com/components/#navbar-responsive) Любая помощь будет принята с благодарностью!
Вот код:
<!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>
Ответы
Ответ 1
Я считаю, что приведенный ниже код даст эффект, который вы ищете. В частности, в BS3 нет класса navbar-responsive-collapse "(см. Файл" bootstrap.css "). Начиная с версии 3 Twitter Bootstrap реагирует по умолчанию, поэтому многие флагов кода для отзывчивости теперь запекаются в фреймворк и больше не нужно вызывать явно.
Здесь версия BS3 выровненного по правому краю меню:
<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>
Ответ 2
Измените это:
.navbar-responsive-collapse
к этому:
.navbar-collapse
Оригинальный плакат решил свой собственный вопрос. Публикация более сжатой версии здесь, поскольку это помогло мне. Версия PhilNicholas не работает.
Ответ 3
Bootstrap 3 требует jquery.
- > Лучше всего поместить свои скрипты в конец.
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="js/bootstrap.min.js"></script>
Ответ 4
Twitter bootstrap использует связанный Collapse плагин jquery для переключения меню навигации на форм-факторы мобильного экрана. Ваш вопрос относится к немного старой версии бутстрапа, но по-прежнему остается актуальным - переключатель может быть запущен на элементе, установив:
data-toggle="collapse"
и
data-target="#valid_css_selector_of_target_element"
.
Ловушка здесь - последняя - что касается функционирования плагина Collapse, не имеет значения, есть ли у вас предопределенный класс начальной загрузки .navbar-responsive-collapse
, единственное, что имеет значение здесь, это тот факт, что элемент существует в вашем html. Существование класса бутстрапов, однако, очень вероятно повлияет на то, как оно оформлено.
Документация начальной загрузки на момент написания этой статьи (и, я считаю, с тех пор) показывает, например, использование атрибута id для выбора целевого элемента; который я считаю немного лучше, потому что на одной странице может быть несколько элементов с одним и тем же классом, тогда как идентификаторы уникальны в html-документе. Итак, в вашем случае:
<div class="collapse navbar-collapse navbar-ex1-collapse">
будет выглядеть примерно как <div class="collapse navbar-collapse navbar-ex1-collapse" id="my_nav">
, а кнопка переключения будет иметь атрибут data-target="#my_nav"
.
Ответ 5
убедитесь, что ссылка bootstrap.cs
до bootstrap-responsive.css
<link href="css/bootstrap.css" rel="stylesheet" />
<link href="css/bootstrap-responsive.css" rel="stylesheet" />
fooobar.com/questions/209876/...
Ответ 6
Это сработало для меня: я изменил .navbar-ex1-collapse на .navbar-collapse.
Ответ 7
Я использую Bootstrap 3.2.0. Для меня эта проблема была связана с изменением версии jQuery, которую я использовал. По-видимому, jQuery 1.7.1 несовместим с последней загрузкой. После переключения на jQuery 2.0.2 все было хорошо:
<script type='text/javascript' src="//ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>