私はそのようなものを持っています:
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<div class="container">
<div class="row">
<div class="col-sm-6">
<div class="btn-group">
<button type="button" class="btn btn-default">Button 1</button>
<button type="button" class="btn btn-default">Button 2</button>
<button type="button" class="btn btn-default">Button 3</button>
</div>
<div class="btn-group">
<button type="button" class="btn btn-default">Button 4</button>
<button type="button" class="btn btn-default">Button 5</button>
<button type="button" class="btn btn-default">Button 6</button>
</div>
<div class="btn-group">
<button type="button" class="btn btn-default">Button 7</button>
<button type="button" class="btn btn-default">Button 8</button>
<button type="button" class="btn btn-default">Button 9</button>
</div>
</div>
<div class="col-sm-6">
</div>
</div>
</div>
そして、ボタン3x3のマトリックスが欲しいです。もう1つ、左側と右側は次の例のようになっている必要があります(直線)。
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<div class="container">
<div class="btn-group-vertical">
<button type="button" class="btn btn-default">button</button>
<button type="button" class="btn btn-default">button</button>
<button type="button" class="btn btn-default">button</button>
</div>
</div>
どうすれば作れますか?たぶん私はいくつかのbootstrapクラスを追加するか、cssファイルを編集する必要がありますか?
.btn-group
クラスでは1つのブロックのみを使用してください。
疑似クラスを使用して、CSSプロパティのセットを適用します。
clear: left;
プロパティは、ボタンにマトリックスの新しい行を開始するように強制します。これは、.btn
クラスにfloat: left;
プロパティがあるためです。
border-radius
クラスが bootstrap.css ファイルで説明されているのと同様の方法で、btn-group
およびmargin
プロパティを設定します。
結果を確認してください:
@import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css');
/* The heart of the matter */
.btn-matrix > .btn:nth-child(3n+4) {
clear: left;
margin-left: 0;
}
.btn-matrix > .btn:nth-child(n+4) {
margin-top: -1px;
}
.btn-matrix > .btn:first-child {
border-bottom-left-radius: 0;
}
.btn-matrix > .btn:nth-child(3) {
border-top-right-radius: 4px !important;
}
.btn-matrix > .btn:nth-last-child(3) {
border-bottom-left-radius: 4px !important;
}
.btn-matrix > .btn:last-child {
border-top-right-radius: 0;
}
/* Decorations */
.btn-matrix {
margin: 20px;
}
<div class="btn-group btn-matrix">
<button type="button" class="btn btn-default">Button 1</button>
<button type="button" class="btn btn-default">Button 2</button>
<button type="button" class="btn btn-default">Button 3</button>
<button type="button" class="btn btn-default">Button 4</button>
<button type="button" class="btn btn-default">Button 5</button>
<button type="button" class="btn btn-default">Button 6</button>
<button type="button" class="btn btn-default">Button 7</button>
<button type="button" class="btn btn-default">Button 8</button>
<button type="button" class="btn btn-default">Button 9</button>
</div>
コードはXのみに依存します。
.btn-matrix > .btn:nth-child(Xn+X+1) {
clear: left;
margin-left: 0;
}
.btn-matrix > .btn:nth-child(n+X+1) {
margin-top: -1px;
}
.btn-matrix > .btn:first-child {
border-bottom-left-radius: 0;
}
.btn-matrix > .btn:nth-child(X) {
border-top-right-radius: 4px !important;
}
.btn-matrix > .btn:nth-last-child(X) {
border-bottom-left-radius: 4px !important;
}
.btn-matrix > .btn:last-child {
border-top-right-radius: 0;
}
次の理由により、@ Pranjalの回答が少し変更されました。
このため、3つのボタンの各行にクラス行を持つdivを作成します。また、ボタンを行の幅(12列)の1/3にする必要があるため、クラス「col-md-4」(12を3で割った値)を指定します。
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container-fluid">
<div class="row">
<div class="btn-group">
<button type="button" class="btn btn-default col-md-4">Button 1</button>
<button type="button" class="btn btn-default col-md-4">Button 2</button>
<button type="button" class="btn btn-default col-md-4">Button 3</button>
</div>
</div>
<div class="row">
<div class=" btn-group">
<button type="button" class="btn btn-default col-md-4">Button 4</button>
<button type="button" class="btn btn-default col-md-4">Button 5</button>
<button type="button" class="btn btn-default col-md-4">Button 6</button>
</div>
</div>
<div class="row">
<div class=" btn-group">
<button type="button" class="btn btn-default col-md-4">Button 7</button>
<button type="button" class="btn btn-default col-md-4">Button 8</button>
<button type="button" class="btn btn-default col-md-4">Button 9</button>
</div>
</div>
</div>
次のことを試すことができます。
<div class="row">
<div class="col-md-1 btn-group">
<button type="button" class="btn btn-default">Button 1</button>
<button type="button" class="btn btn-default">Button 2</button>
<button type="button" class="btn btn-default">Button 3</button>
</div>
<div class="col-md-1 btn-group">
<button type="button" class="btn btn-default">Button 4</button>
<button type="button" class="btn btn-default">Button 5</button>
<button type="button" class="btn btn-default">Button 6</button>
</div>
<div class="col-md-1 btn-group">
<button type="button" class="btn btn-default">Button 7</button>
<button type="button" class="btn btn-default">Button 8</button>
<button type="button" class="btn btn-default">Button 9</button>
</div>
</div>
これはあなたに役立つと思います。これを試してみてください。
button{
margin-right:14px!important;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container-fluid">
<div class="row">
<div class="btn-group">
<button type="button" class="btn btn-default col-md-3">Button 1</button>
<button type="button" class="btn btn-default col-md-3">Button 2</button>
<button type="button" class="btn btn-default col-md-3">Button 3</button>
</div>
</div>
<div class="row">
<div class=" btn-group">
<button type="button" class="btn btn-default col-md-3">Button 4</button>
<button type="button" class="btn btn-default col-md-3">Button 5</button>
<button type="button" class="btn btn-default col-md-3">Button 6</button>
</div>
</div>
<div class="row">
<div class=" btn-group">
<button type="button" class="btn btn-default col-md-3">Button 7</button>
<button type="button" class="btn btn-default col-md-3">Button 8</button>
<button type="button" class="btn btn-default col-md-3">Button 9</button>
</div>
</div>
</div>
Bootstrap 4の場合、および折り返す必要のあるテキストが等しくない場合。
.btn-matrix > .btn:nth-child(3n+4) {
clear: left;
margin-left: 0;
}
.btn-matrix > .btn:nth-child(n+4) {
margin-top: -1px;
}
.btn-matrix > .btn:first-child {
border-bottom-left-radius: 0;
}
.btn-matrix > .btn:nth-child(3) {
border-top-right-radius: 4px !important;
}
.btn-matrix > .btn:nth-last-child(3) {
border-bottom-left-radius: 4px !important;
}
.btn-matrix > .btn:last-child {
border-top-right-radius: 0;
}
/* Decorations */
.btn-matrix { flex-wrap: wrap; }
/* force wrap text */
.btn-matrix .btn{
white-space: normal !important;
}
<div class="btn-group btn-matrix">
<a class="btn btn-sm btn-default col-sm-4">Button 1 Extra Content</a>
<a class="btn btn-sm btn-default col-sm-4">Button 2</a>
<a class="btn btn-sm btn-default col-sm-4">Button 3</a>
<a class="btn btn-sm btn-default col-sm-4">Button 4</a>
<a class="btn btn-sm btn-default col-sm-4">Button 5</a>
<a class="btn btn-sm btn-default col-sm-4">Button 6</a>
<a class="btn btn-sm btn-default col-sm-4">Button 7</a>
<a class="btn btn-sm btn-default col-sm-4">Button 8</a>
<a class="btn btn-sm btn-default col-sm-4">Button 9</a>
</div>