Bootstrap 3在输入字段内放置图标

zaz*_*iki 11 css twitter-bootstrap font-awesome glyphicons twitter-bootstrap-3

我在Bootstrap 3工作,我试图在输入框的右侧获得一个日历图标.

我的HTML看起来像这样:

<div class="col-md-12">
    <div class='right-inner-addon col-md-2 date datepicker' 
         data-date-format="yyyy-mm-dd">
        <input name='name' value="" type="text" class="form-control date-picker"
               data-date-format="yyyy-mm-dd"/>
        <i class="fa fa-calendar"></i>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我试过position: absolute这样的:

.right-inner-addon i {
    position: absolute;
    right: 5px;
    top: 10px;
    pointer-events: none;
    font-size: 1.5em;
}
.right-inner-addon {
    position: relative;
}
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,它会在一个地方看起来很棒,但在另一个实例中不能正确定位.

我也试着看看我是否可以用它text-indent来看看它是否会起作用,但它有同样的效果.

.right-inner-addon i, 
.form-group .right-inner-addon i {
    display: inline-block;
    z-index: 3;
    text-indent: -15px;
    font-size: 1.3em;
}
Run Code Online (Sandbox Code Playgroud)

这是一个可能有帮助的jsFiddle

Kyl*_*Mit 10

使用bootstrap的本机验证状态可能比在此处编写自定义CSS更可取.
而且我很确定我是那个想出CSS的人.

只需.has-feedback在表单组和.form-control-feedback图标上使用:

<div class="form-group has-feedback">
    <label class="control-label sr-only">DatePicker</label>
    <input type="text" class="form-control date-picker" /> 
    <i class="fa fa-calendar form-control-feedback"></i>
</div>
Run Code Online (Sandbox Code Playgroud)

在jsFiddle演示

截图


Zim*_*Zim 6

您可以使用input-group add-on一个input-group-btn.

<div class="col-md-12">
    <div class='input-group add-on col-md-2 date datepicker' 
         data-date-format="yyyy-mm-dd">
        <input name='name' value="" type="text" class="form-control date-picker" 
               data-date-format="yyyy-mm-dd"/>
        <div class="input-group-btn">
            <button class="btn btn-default">
                <i class="fa fa-calendar"></i>
            </button>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

用一点CSS来隐藏按钮边框:

/* remove border between controls */
.add-on .input-group-btn > .btn {
    border-left-width: 0;
    left:-2px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
            box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
/* stop the glowing blue shadow */
.add-on .form-control:focus {
    -webkit-box-shadow: none; 
            box-shadow: none;
    border-color:#cccccc; 
}
Run Code Online (Sandbox Code Playgroud)

演示:http://bootply.com/128059