Twitter Bootstrap: Как правильно использовать класс `.btn` в панели навигации? - PullRequest
61 голосов
/ 13 февраля 2012

Я использую навигационную панель для стандартных навигационных материалов, и я хотел бы добавить кнопку для входа и регистрации.

Я использую тег a с классами btn btn-large btn-success, и по умолчанию кажется, что панель навигации не поддерживает использование вложенных btn s.

Результат примерно такой:

default without hover

А когда завис, то получается:

hovered

Мой вопрос в основном: я делаю это неправильно? Я что-то упускаю?

Думаю, я бы спросил, прежде чем переопределять классы CSS для .btn. в навигационной панели.

Спасибо.

Ответы [ 6 ]

63 голосов
/ 13 февраля 2012

Навбар вмещает кнопки без проблем - у меня есть кнопки в навигационной панели без проблем, и я смог добавить их к примеру static navbar на странице начальной загрузки :

Buttons added to the navbar.

HTML должен быть выложен так:

<div class="navbar navbar-fixed-top active">
  <div class="navbar-inner">
    <div class="container" style="width: auto;">
      <a class="brand" href="#">Project name</a>
      <div class="nav-collapse">
        <ul class="nav">
          ... nav links ...
        </ul>
        <form class="navbar-search pull-left" action="">
          ... search box stuff
        </form>
        <a class="btn btn-success">Sign in</a>
        <a class="btn btn-primary">Sign up</a>
      </div>
    </div>
  </div>
</div>

Если вы не используете адаптивный макет, чтобы свернуть панель навигации на экранах меньшего размера, просто поместите ссылки на одну кнопкуУровень выше, в <div class="container">.

Если проблема все еще не найдена, попробуйте использовать Инструменты разработчика Chrome , чтобы увидеть, какой CSS применяется к кнопкам, которые не должны быть.

31 голосов
/ 05 ноября 2012

Как обсуждено здесь , Перенос ссылки с div работает:

<div><a class='btn' href='#'>Link</a></div>
6 голосов
/ 26 февраля 2012

Вот модифицированная версия ответа Джареда Харли. Это то, что я в конечном итоге использовал, и он поддерживает выпадающий список в панели навигации.

<div class="navbar navbar-fixed-top active">
  <div class="navbar-inner">
    <div class="container" style="width: auto;">
      <a class="brand" href="#">Project name</a>
      <div class="nav-collapse">
        <ul class="nav">
          ... nav links ...
        </ul>
        <form class="navbar-search pull-left" action="">
          ... search box stuff
        </form>
        <a class="btn btn-success">Sign in</a>
        <a class="btn btn-primary">Sign up</a>
      </div>
      <div class="pull-right">
        <ul class="nav">
          <li class="dropdown">
            <a href="#" data-toggle="dropdown" class="dropdown-toggle">
              Dropdown
              <b class="caret"></b>
            </a>
            <ul class="dropdown-menu">
              <li>
                <a href="#">item</a>
              </li>
              <li class="divider"></li>
              <li>
                <a href="#">another item</a>
              </li>
            </ul>
          </li>
          <li class="divider-vertical"></li>
        </ul>
        <a class="btn btn-primary" href="#">Primary</a>
        <a class="btn btn-success" href="#">Success</a>
      </div>
    </div>
  </div>
</div>
1 голос
/ 22 февраля 2013
<div class="navbar navbar-inverse navbar-fixed-top">
    <div class="navbar-inner">
        <div class="container">
            <a class="brand" href="#">Brand name</a>
            <ul class="nav">
                <li class="active"><a href="#">Main</a></li>
                <li><a href="#about">Next one</a></li>
            </ul>


            <div class="btn-group pull-right">
                <a class="btn btn-small dropdown-toggle" data-toggle="dropdown"><i class="icon-user"></i> Trololo</a>
                <ul class="dropdown-menu">
                    <li><a href="#">Action</a></li>
                    <li><a href="#">Another action</a></li>
                    <li><a href="#">Something else here</a></li>
                    <li class="divider"></li>
                    <li><a href="#">Separated link</a></li>
                </ul>
            </div>


        </div>
    </div>
</div>
0 голосов
/ 14 июля 2013

Я исправил это, добавив это в:

style="margin-top:10px;"

Полный код кнопки выглядит так:

<a href="/register"><button class="btn btn-warning pull-right" style="margin-top:10px;">Register</button></a>
0 голосов
/ 29 мая 2013

У меня была такая же проблема при помещении .btn в navbar, и когда я завис, он «обрезал» половину кнопки bg, я решил ее так, что объявил .nav> li> a.btn: hover снова вmain.css -> файл пользовательских стилей приложения, помещенный в голову после bootstrap.css, таким образом, он работает, потому что если вы проверяете элемент в firebug или любом из инструментов dev и пытаетесь навести на него курсор, вы заметите, что .btn hover styleпереписан в стиле nav hover, который помещается после кнопок в файле bootstrap.css ...

...