私は「ミニ」ボタンにBootstrapのbtn-mini
クラスを使用しており、選択ボタン(つまり、オプションのリストを表示するためにクリックする部分)オプションのリスト自体)は、ミニボタンと同じサイズとスタイルです。
btn-mini
クラスを選択要素に適用すると、選択ボタンのフォントスタイルはミニボタンと同じサイズになりますが、選択ボタン自体のサイズはデフォルトのサイズから変更されません。
別のBootstrapクラスを使用する必要がありますか?またはそれを行う別の方法はありますか?
追伸私はOS X Chromeに取り組んでいますが、当然のことながら、クロスブラウザ互換のソリューションがあることを願っています。
<select class="btn btn-mini">
<!-- options -->
</select>
<span class="caret"></span>
select.btn-mini {
height: auto;
line-height: 14px;
}
/* this is optional (see below) */
select.btn {
-webkit-appearance: button;
-moz-appearance: button;
appearance: button;
padding-right: 16px;
}
select.btn-mini + .caret {
margin-left: -20px;
margin-top: 9px;
}
最後の2つのルールはオプションであり、<select>
のように見える <button>
、キャレットも追加しました。これを参照してください fiddle 。
Bootstrap 3人のユーザーがこの古い質問に出くわした場合に備えて、BS3の方法を次に示します。
<select class="form-control input-lg"></select>
<select class="form-control"></select>
<select class="form-control input-sm"></select>
<input class="form-control input-lg">
<input class="form-control">
<input class="form-control input-sm">
ただし、input-xはないため、小さくしたい場合は自分で作成する必要があります。
.input-xs, select.input-xs {
height: 20px;
line-height: 20px;
}
Bootstrap 4の場合、heightを設定するには、form-control-sm
クラスとform-control
を使用できます。
<select class="form-control form-control-lg">
<option>Large select</option>
</select>
<select class="form-control">
<option>Default select</option>
</select>
<select class="form-control form-control-sm">
<option>Small select</option>
</select>
そして、これらのwidthを設定するには、.col-sm-*
、.col-md-*
、.col-lg-*
などのグリッド列クラスを使用する必要があります。
そのため、選択コードを次の場所に配置します。
<div class="row">
<div class="col-md-3">
... select tag code ...
</div>
</div>
次のようになります。
最後の1つを "mini"select要素と呼ぶことができます。
これは最終的な答えではありませんが、これまでやってきたことを、これを行うことに興味がある他の人と共有したかったのです。
Jackwandersが提案したように、先に進んでカスタムCSSクラスを作成しました。
.select-mini {
font-size: 11px;
height: 20px;
width: 100px;
}
このfont-size
ルールとheight
ルールは、選択ボックスをミニボタンとほぼ同じサイズにしますが、テキストは同じように完全に整列しません(わずかに上にシフトします)。 line-height
ではなく、height
を使用して、Bootstrap=他の場所で設定する選択要素のheight
ルールをオーバーライドする必要があります。(width
ルールは、ウィジェットを変更し、 )
私のCSS-fuは、ミニセレクトとミニボタンを完全に一致させるにはすぐに十分ではなく、CSSに関してはセレクトの動作が奇妙に見えるので、これは他の人の出発点として役立つことを願っています。その間、より良い答えにまだ開いています!
に基づく btn-xs
これを用意したクラス:
.input-xs{
height: 20px;
line-height: 1.5;
font-size: 12px;
padding: 1px 5px;
border-radius: 3px;
}
幅に制限がないことに注意してください!
this fiddle をチェックして、動作を確認してください。
Pavloの回答の方が優れています。しかし、マウスカーソルがキャレット上にある場合、クリックは機能しません。修正するには、キャレットクラスに1つだけ追加する必要があります。
select.btn-mini + .caret {
margin-left: -14px;
margin-top: 19px;
pointer-events: none;
}