2015-03-10 6 views
0

У меня есть следующий код: навBootstrap Navbar не появляется

<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 collapse"> 
       <ul> 
        <li class="navbutton" id="home_button">home</li> 
        <li class="navbutton" id="services_button">services</li> 
        <li class="navbutton" id="facility_button">facility</li> 
        <li class="navbutton" id="trainers_button">trainers</li> 
        <li class="navbutton" id="contact_button">contact</li> 
       </ul> 
      </div> 
     </div> 
    </div> 
</div> 

и это не работает. В частности, ссылки просто не отображаются вообще. Когда я сжимаю экран, появляются значки, но, когда я нажимаю на них, ничего не появляется. Это похоже на то, что всякий «навальный коллапс» div скрыт. Я попытался сделать JSFiddle, но он выглядел еще хуже, и я думаю, что это потому, что я не уверен, как добавить Bootstrap в JSFiddle.

Я также добавляю некоторые стили для элементов навигации. Вот соответствующий CSS в случае, если это может быть виновником.

.navbar{ 
top: 10px; 
left: 0px; 
height: 22px; 
z-index:20; 
width: 100%; 
background-color:#D2B48C; 
font-size:16px; 
font-weight:bold; 
text-align:center; 
position:relative; 
width: 85%; 
margin: 0px auto; 
-moz-box-shadow: 10px 10px 5px #333; 
-webkit-box-shadow: 10px 10px 5px #333; 
box-shadow: 10px 10px 5px #333; 
} 

.navbar-inner{ 
background-color:#D2B48C; 
position: absolute; 
margin-right: -50%; 
left: 50%; 
transform: translate(-50%, -50%); 
top: 50%; 
} 

.navbar .container{ 
background-color:#D2B48C; 
position: absolute; 
margin-right: -50%; 
left: 50%; 
transform: translate(-50%, -50%); 
top: 50%; 
} 

.nav-collapse{ 
background-color:#D2B48C; 
color: #355E3B; 
z-index: 20; 
} 

.collapse{ 
background-color:#D2B48C; 
} 

.nav-collapse ul{ 
height:100%; 
} 

.nav-collapse ul li{ 
display: inline; 
padding: 0 20px; 
color: #355E3B; 
height: 100%; 
} 

.navbutton{ 
padding: 0 50px; 
text-transform: uppercase; 
background-color: #D2B48C; 
color: #355E3B; 
} 

Мысли?

Спасибо!

ответ

0

Адрес: html from bootstrap example page, похоже, что вам не хватает navbar-header. Убедитесь, что вы правильно следуете html.

<nav class="navbar"> 
     <div class="container"> 
     <div class="navbar-header"> 
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> 
      <span class="sr-only">Toggle navigation</span> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
      </button> 
      <a class="navbar-brand" href="#">Project name</a> 
     </div> 
     <div id="navbar" class="collapse navbar-collapse"> 
      <ul class="nav navbar-nav"> 
      <li class="active"><a href="#">Home</a></li> 
      <li><a href="#about">About</a></li> 
      <li><a href="#contact">Contact</a></li> 
      </ul> 
     </div><!--/.nav-collapse --> 
     </div> 
    </nav> 
+0

это * почти *. Элементы nav появляются снова и работают, но а) они начинают переходить к следующей строке по размеру экрана, прежде чем они исчезнут - как я могу изменить ширину, с которой они переключаются? также, б) когда они исчезают, я не вижу, как появляются значки. Я нашел теоретически интерактивное место в середине панели навигации, но ничего не происходит, когда я нажимаю на него. –

+0

Хм. Итак, некоторый прогресс. Я получаю иконки, чтобы отображаться, но ничего, когда я нажимаю на них. Вот что. Когда я бросаю их в JSFiddle, это работает. Кроме того, когда я вырезал и вставлял пример из начальной загрузки на мою страницу, это не работает. Теперь мне нужно выяснить, что на моей странице убивает! –

+0

Вы можете изменить отступы на элементах списка. В противном случае вы захотите изменить точки останова, если вы хотите, чтобы меню сбрасывалось раньше. Прочитайте меньше или если вы используете версию sass, вы можете изменить переменные перед перекомпиляцией на то, что вам нужно. Удалите все свои собственные css, если это не необходимо. – feitla

0

Вы не сказали, какую версию Bootstrap вы используете, я полагаю 3.x. Но ваш код не соответствует стандарту Bootstrap. Я думаю, что icon-bar, чтобы переключать навигацию, должны быть в заголовке навигатора. Также я не знаю (может быть, вы можете), если вы можете data-target по классу.

Вы должны попробовать этот код:

<div class="navbar"> 
     <div class="container-fluid"> 
       <div class="navbar-header"> 
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#toggleId"> 
          <span class="icon-bar"></span> 
          <span class="icon-bar"></span> 
          <span class="icon-bar"></span> 
        </button> 
        <!-- <a class="navbar-brand" href="#">MySite</a> --> 
       </div> 
       <div class="collapse navbar-collapse" id="toggleId"> 
       <ul> 
        <li class="navbutton" id="home_button"><a href="#">home</a></li> 
        <li class="navbutton" id="services_button"><a href="#">services</a></li> 
        <li class="navbutton" id="facility_button"><a href="#">facility</a></li> 
        <li class="navbutton" id="trainers_button"><a href="#">trainers</a></li> 
        <li class="navbutton" id="contact_button"><a href="#">contact</a></li> 
       </ul> 
      </div> 
     </div> 
</div> 
+0

У этого есть те же проблемы, что и другой ответ, и он также делает элементы меню стекными, как обычный UL. :( –

+0

и да, это 3.3.2 –

2

фигурной ЕГО !!!

Пока я отправлялся в самые последние файлы Bootstrap CSS, я, по-видимому, пренебрегал ссылкой на последний файл Bootstrap JS! Я включил это, и навигация работает. Мне все еще нужно немного почистить его, но теперь я вижу, по крайней мере, это!

Спасибо всем за помощь!

Смежные вопросы