编辑:请注意,这个答案适用于Bootstrap v2.3.x. Bootstrap 3已经在本地解决了这个问题(see doc)。
由李某的回答启发,这是我还挺改进方案(包括追加和前插,最小可能的附加宽度,去掉不必要的风格,汽车高度......)。后引导CSS /减档包含此:
.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中,如果您在.input-append.input-block-level > input
中设置display: table
,则尽管采取了焦点,输入标记也会变得不可编辑。
完全忽略此display:
参数使其在IE8以及当前的Chrome/Safari/Firefox中按预期工作。
看起来不错!我会试一下! – Astro
我用过这个,但是为30px的.add-on {}设置了一个设置宽度。我知道这不是最好的解决方案,因为它会在附加部分的不同内容上打破,但对于一个图标看起来很不错。 – Kieran