2016-09-30 2 views
2

В настоящее время я использую Bootstrap 3 для создания сайта для моего первого клиента, но я не могу заставить навигатор правильно выровняться. Он останавливает отображение строки, когда я ударяю точку останова. Я просмотрел многие другие статьи и применил много разных свойств CSS, но безрезультатно. На данный момент, я думаю, в моем коде может быть ошибка, но я точно не знаю. Это мой первый реальный проект, поэтому я технически новичок (извините мой ужасный код: P). Пожалуйста, дайте мне знать, если есть что-то, чего я не вижу. Вот скриншот и мой код.My Navbar не будет выровнять по горизонтали

enter image description here

<nav class="navbar navbar-default navbar-fixed-top" id="navbar"> 
    <div class="container"> 
     <!-- Brand and toggle get grouped for better mobile display --> 
     <div class="navbar-header"> 
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse-1"> 
       <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="index.html">Spa&bull;ology</a> 
     </div> <!-- /.navbar-header --> 
     <!--NAV LINKS--> 
     <div class="collapse navbar-collapse" id="navbar-collapse-1"> 
      <ul class="nav navbar-nav "> 
       <!--LINKS--> 
       <li><a href="index.html">Home</a></li> 
       <!--DROPDOWN LINKS--> 
       <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Services<span class="caret"></span></a> 
        <ul class="dropdown-menu"> 
         <li><a href="waxingandsugaring.html">Waxing &amp; Sugaring</a></li> 
         <li><a href="manisandpedis.html">Manis &amp; Pedis</a></li> 
         <li><a href="spraytanning.html">Spray Tanning</a></li> 
         <li><a href="massages.html">Massages</a></li> 
         <li><a href="lashes.html">Lash Extensions</a></li> 
         <li><a href="facialsandpeels.html">Facials &amp; Peels</a></li> 
        </ul><!-- /.dropdwon-menu --> 
       </li> 
       <!-- /.dropdown --> 
       <li><a href="#">Products</a></li> 
       <li><a href="#">Contact Us</a></li> 
       <li><a href="http://www.secure-booker.com/spaology/ShopOnline/GiftCertificate.aspx" target="_blank">Gift Certificates</a></li> 
       <li><a href="http://www.secure-booker.com/spaology/MakeAppointment/" target="_blank">Book Online</a></li> 
      </ul> 
     </div><!-- /.navbar-collapse --> 
    </div><!-- /.container --> 
</nav> 

Вот некоторые из свойств CSS, которые я попробовал. Я использовал разные комбинации этих свойств безрезультатно.

.navbar .navbar-nav > li { 
float:left;  
} 

.navbar .navbar-nav > li { 
display:inline;  
} 

.navbar .navbar-nav > li { 
display:block; 
float:left; 
vertical-align: top 
} 
+0

Мои извинения за то, что не более ясно, что первый раз. Я никогда не использовал свойство float более одного раза для каждого редактирования. Я использовал оба из них в отдельных экземплярах, но это не помогло. – umaldo7

+0

Основная проблема, с которой я столкнулась, заключается в том, что .navbar-brand добавляет разрыв строки, когда я нажимаю точку останова col-sm, а navbar больше не является встроенным. Он разделяется на две строки, поэтому больше не является встроенным. Надеюсь, это поможет прояснить вопрос, который у меня есть. – umaldo7

ответ

1

, не видя все соответствующие CSS, это трудно дать конкретные советы. Тем не менее, навигационные меню Bootstrap кодируются для переключения на скрытые в точке останова, которые вы указываете, и сами пункты меню стекают вертикально.

Вы можете увидеть для себя здесь: http://getbootstrap.com/components/#navbar-fixed-top

Для того, чтобы ваше меню остается видимым и пункты (<li> элементов) остаются рядными, вам нужно настроить или иначе переопределить CSS для этой точки останова.

+0

Спасибо за ваш ответ! Я добавил скриншот вопроса, который у меня есть. Может быть, это поможет лучше объяснить мою проблему. – umaldo7

+0

Я вижу - само меню налетает. Обычно это результат того, что просто нет места для размещения обоих элементов (логотип и меню) бок о бок. Логотип и элементы представляют собой статическую ширину, так как экран сужается, для них меньше места. Именно поэтому мобильные меню, как правило, скрыты. Существует несколько способов решения этой проблемы. Во-первых, уменьшите размер (ширину) элементов, чтобы они могли сосуществовать внутри. Два, расширьте контейнер, чтобы было больше места. Три, принять скрытое меню в мобильном стиле. Четыре, позволяют элементам существовать один над другим, возможно, центрируя их. –

+0

Отличные предложения. Если его не слишком много спросить, можете ли вы опубликовать пример CSS, который я мог бы использовать? Прошу прощения, если я прошу слишком много, я просто очень к этому знаком и хотел бы подойти к этому правильно, а не слепо. Благодаря! – umaldo7

2

Просто взглянув на ваш css, вы определили отображение и поплавок 2 раза. удалить повторяющиеся записи и изменять по мере необходимости

.navbar .navbar-nav > li { 
display:inline; 
position:relative; 
display:block; 
float:left; 
vertical-align: top; 
} 

https://jsfiddle.net/4k1yoctf/2/ попробовать этот

+0

Спасибо за ваш ответ! Я добавил скриншот вопроса, который у меня есть. Может быть, это поможет лучше объяснить мою проблему. – umaldo7

+0

@ umaldo7 Вы говорите о том, что имя плавает сверху? – Case

+0

Это правильно. Кажется, что navbar-brand добавляет разрыв строки, когда я нахожусь в точке останова col-sm, тем самым делая navbar не встроенным. Navbar остается встроенным для точек останова MD & LG и сбрасывается после того, как я ударил точку останова XS. У меня проблема только после того, как я ударил точку останова SM. Я знаю, что это связано с тем, что для этих двух разделов осталось немного места. Есть ли какой-то трюк/хак CSS, который мне не хватает? – umaldo7

0

Спасибо всем за ваш вклад и совет. Вы все заслуживаете медали! Я исправил эту проблему, уменьшив размер (ширину) элементов навигационной панели. С некоторыми манипуляциями с пикселями я смог поместить все элементы навигатора в одну строку. Вот пример CSS, который я использовал для устранения проблемы. Надеюсь, это поможет кому-то в будущем.

.navbar .navbar-header > a { 
font-size: 1.4em; 
width: 40px; 
padding-left: 0px; 

}

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