web-dev-qa-db-ja.com

Twitter Bootstrap:navbar内で `.btn`クラスを使用する正しい方法は何ですか?

標準のnavにnavbarを使用していますが、サインインとサインアップ用のボタンを追加したいと思います。

btn btn-large btn-successクラスでaタグを使用していますが、デフォルトでは、navbarはネストされたbtnsの使用に対応していないようです。

結果は次のようになります。

default without hover

カーソルを合わせると、次のように表示されます。

hovered

私の質問は基本的に、私はこれを間違っていますか?私が見逃しているものはありますか?

.btnのCSSクラスを再定義する前に質問すると思います。ナビゲーションバー内。

ありがとう。

61
Mario Zigliotto

Navbarは問題なくボタンに対応します-navbarには問題なくボタンがあり、それらを Bootstrap page の静的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>

レスポンシブレイアウトを使用して、小さい画面でナビゲーションバーを折りたたんでいない場合は、ボタンリンクを1レベル上に、<div class="container">

それでも問題が見つからない場合は、 Chromeの開発ツール を使用して、あるべきではないボタンに適用されているCSSを確認してください。

63
Jared Harley

here で説明したように、リンクをdivでラップすると機能します。

<div><a class='btn' href='#'>Link</a></div>
31
Ashit Vora

Jared Harleyの回答の修正版を以下に示します。これは私が最終的に使用したものであり、ナビゲーションバーでのドロップダウンのサポートをしています。

<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>
6
Mario Zigliotto
<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>
1
24inwork

.btnをnavbarに入れると同じ問題が発生し、ホバーするとボタンbgの半分が「カット」され、main.cssで.nav> li> a.btn:hoverを再度宣言することで解決しました。 -> bootstrap.cssの後に頭に置かれたアプリのカスタムスタイルファイル、その方法で動作します。これは、firebugまたはdevツールの要素を調べてホバーしようとすると、.btnホバースタイルが書き換えられることに気付くからです。 bootstrap.cssファイルのボタンの後に配置されるnavホバースタイル...

0
bblokar