編集:この回答はBootstrapv2.3.xに有効であることに注意してください。Bootstrap 3はすでにこれをネイティブに解決しています(ドキュメントを参照)。
A leeの答えに触発されて、これが私のちょっと改善されたソリューションです(追加と追加の両方、可能な最小のアドオン幅、削除された不要なスタイル、自動高さなどが含まれます)。Bootstrap CSS/LESSファイルの後にこれを含めます。
.input-append.input-block-level,
.input-prepend.input-block-level {
display: table;
}
.input-append.input-block-level .add-on,
.input-prepend.input-block-level .add-on {
display: table-cell;
width: 1%; /* remove this if you want default bootstrap button width */
}
.input-append.input-block-level > input,
.input-prepend.input-block-level > input {
box-sizing: border-box; /* use bootstrap mixin or include vendor variants */
-moz-box-sizing: border-box; /* for Firefox */
display: table; /* table-cell is not working well in Chrome for small widths */
min-height: inherit;
width: 100%;
}
.input-append.input-block-level > input {
border-right: 0;
}
.input-prepend.input-block-level > input {
border-left: 0;
}
HTMLでこのように使用し、この場合はボタンではなくタグを使用する必要がa
あることを忘れないbutton
でください。
<div class="input-append input-block-level">
<input type="text" />
<a class="btn add-on">click</a>
</div>
編集: IE8では、を設定display: table
する.input-append.input-block-level > input
と、フォーカスを取得しても入力タグは編集できなくなります。
このパラメーターを完全に省略display:
すると、IE8および現在のChrome / Safari/Firefoxで期待どおりに機能します。