ドロップダウン メニュー コンポーネントなどのボタン グループが正しく機能するには、button.js プラグインに依存する必要があります。
構造的側面: btn-group というクラス名のコンテナーを使用し、このコンテナーに複数のボタンを配置します 。
ボタン グループも独立したコンポーネントなので、対応するソース コード ファイルを見つけることができます:
レス: button.less
Sass:_buttons.scss
Css:Bootstrap.css 3131 行目 ~ 3291 行目
<div class="btn-group"> <button type="button" class="btn btn-default"> <span class="glyphicon glyphicon-step-backward"></span> </button> … <button type="button" class="btn btn-default"> <span class="glyphicon glyphicon-step-forward"></span> </button> </div>
CSS:
.btn-group, .btn-group-vertical { position: relative; display: inline-block; vertical-align: middle; } .btn-group > .btn, .btn-group-vertical > .btn { position: relative; float: left; } .btn-group > .btn:hover, .btn-group-vertical > .btn:hover, .btn-group > .btn:focus, .btn-group-vertical > .btn:focus, .btn-group > .btn:active, .btn-group-vertical > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn.active { z-index: 2; } .btn-group > .btn:focus, .btn-group-vertical > .btn:focus { outline: none; } .btn-group .btn + .btn, .btn-group .btn + .btn-group, .btn-group .btn-group + .btn, .btn-group .btn-group + .btn-group { margin-left: -1px; }
ボタングループの四隅は丸みを帯びています。最初と最後のボタンは側面の角が丸くなっていますが、他のボタンには角が丸まっていません。
詳細説明:
1. デフォルト: すべてのボタンの角が丸くなっています
2.最初のボタンと最後のボタンを除いて、他のボタンの角丸は解除されます
3. 最後のボタンの右上隅と右下隅のみを丸くします
ソースコード:
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { border-radius: 0; } .btn-group > .btn:first-child { margin-left: 0; } .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child> .btn:last-child, .btn-group > .btn-group:first-child> .dropdown-toggle { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn-group:last-child> .btn:first-child { border-top-left-radius: 0; border-bottom-left-radius: 0; }
ボタングループツールバー
リッチ テキスト エディターで、グループのコピー、切り取り、貼り付け、左揃え、中央揃え、右揃え、両端揃えなどのボタン グループをまとめて配置するには、ブートストラップ フレームを使用する必要があります。ボタン ツールバー btn-toolbar
<div class="btn-toolbar"> <div class="btn-group"> … </div> <div class="btn-group"> … </div> <div class="btn-group"> … </div> <div class="btn-group"> … </div> </div>
原則: 主な目的は、コンテナの複数のグループ .btn-group 要素をフローティングし、グループ間に 5 ピクセルの左マージンを維持することです
.btn-toolbar { margin-left: -5px; } .btn-toolbar .btn-group, .btn-toolbar .input-group { float: left; } .btn-toolbar > .btn, .btn-toolbar > .btn-group, .btn-toolbar > .input-group { margin-left: 5px; }
btn-toolbar のフロートのクリアに注意してください
.btn-toolbar:before, .btn-toolbar:after{ display: table; content: " "; } .btn-toolbar:after{ clear: both; }
例:
<div class="btn-toolbar"> <div class="btn-group"> <button class="btn btn-default" type="button"> <span class="glyphicon glyphicon-align-left"></span> </button> <button class="btn btn-default" type="button"> <span class="glyphicon glyphicon-align-center"></span> </button> <button class="btn btn-default"> <span class="glyphicon glyphicon-align-right"></span> </button> <button class="btn btn-default" type="button"> <span class="glyphicon glyphicon-align-justify"></span> </button> </div> <div class="btn-group"> <button class="btn btn-default" type="button"> <span class="glyphicon glyphicon-font"></span> </button> <button class="btn btn-default" type="button"> <span class="glyphicon glyphicon-bold"></span> </button> </div> </div>
ボタンのネストされたグループ化
多くの場合、ナビゲーション メニューと同様の効果を実現するために、共通のボタン グループをドロップダウン メニューにまとめて配置します。
これを使用する場合は、ドロップダウン メニューの作成に使用されるドロップダウン コンテナーのクラス名を btn-group に変更し、通常のボタンと同じレベルに配置するだけです。
<div class="btn-group"> <button class="btn btn-default" type="button">首页</button> <button class="btn btn-default" type="button">产品展示</button> <button class="btn btn-default" type="button">案例分析</button> <button class="btn btn-default" type="button">联系我们</button> <div class="btn-group"> <button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button"> 关于我们<span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a href="#">公司简介</a></li> <li><a href="#">企业文化</a></li> <li><a href="#">组织结构</a></li> <li><a href="#">客服服务</a></li> </ul> </div> </div> .btn-group > .btn-group { float: left; } .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group > .btn-group:first-child> .btn:last-child, .btn-group > .btn-group:first-child> .dropdown-toggle { border-top-right-radius: 0; border-bottom-right-radius: 0; } .btn-group > .btn-group:last-child> .btn:first-child { border-top-left-radius: 0; border-bottom-left-radius: 0; } .btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle { outline: 0; } .btn-group > .btn + .dropdown-toggle { padding-right: 8px; padding-left: 8px; } .btn-group > .btn-lg + .dropdown-toggle { padding-right: 12px; padding-left: 12px; } .btn-group.open .dropdown-toggle { -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); } .btn-group.open .dropdown-toggle.btn-link { -webkit-box-shadow: none; box-shadow: none; }
垂直方向にグループ化されたボタン
水平グループ化クラス名 .btn-group を .btn-group-vertical に置き換えるだけです。
<div class="btn-group-vertical"> <button class="btn btn-default" type="button">首页</button> <button class="btn btn-default" type="button">产品展示</button> <button class="btn btn-default" type="button">案例分析</button> <button class="btn btn-default" type="button">联系我们</button> <div class="btn-group"> <button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button"> 关于我们<span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a href="#">公司简介</a></li> <li><a href="#">企业文化</a></li> <li><a href="#">组织结构</a></li> <li><a href="#">客服服务</a></li> </ul> </div> </div> .btn-group-vertical > .btn, .btn-group-vertical > .btn-group, .btn-group-vertical > .btn-group > .btn { display: block; float: none; width: 100%; max-width: 100%; } .btn-group-vertical > .btn-group > .btn { float: none; } .btn-group-vertical > .btn + .btn, .btn-group-vertical > .btn + .btn-group, .btn-group-vertical > .btn-group + .btn, .btn-group-vertical > .btn-group + .btn-group { margin-top: -1px; margin-left: 0; } .btn-group-vertical > .btn:not(:first-child):not(:last-child) { border-radius: 0; } .btn-group-vertical > .btn:first-child:not(:last-child) { border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn:last-child:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; border-bottom-left-radius: 4px; } .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } .btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, .btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { border-top-left-radius: 0; border-top-right-radius: 0; }
均等分割ボタンは、適応グループ化ボタンとも呼ばれます:
ボタン グループ全体の幅はコンテナーの 100% であり、ボタン グループ内の各ボタンはコンテナー全体の幅を等分します。たとえば、ボタン グループには 5 つのボタンがあり、各ボタンは 20 です。コンテナの幅の %; ボタン グループには 4 つのボタンがあり、各ボタンはコンテナの幅の 25% です。
実装方法:ボタン group.btn-group にクラス名.btn-group-justified を追加するだけ
<div class="btn-group btn-group-justified"> <buttton class="btn btn-default" type="button">首页</buttton> <buttton class="btn btn-default" type="button">案例分析</buttton> <buttton class="btn btn-default" type="button">联系我们</buttton> <buttton class="btn btn-default" type="button">关于我们</buttton> </div> .btn-group-justified { display: table; width: 100%; table-layout: fixed; border-collapse: separate; } .btn-group-justified > .btn, .btn-group-justified > .btn-group { display: table-cell; float: none; width: 1%; } .btn-group-justified > .btn-group .btn { width: 100%; }
注: 等しいボタン グループを作成する場合は、ボタンの作成に タグを使用するようにしてください。これは、ボタン タグ要素を使用する場合、一部のブラウザでは、display: table の使用が適切ではないためです。 🎜>
スクリプト ハウスが推奨する読書:
Bootstrap ボタンの詳細説明