在文本框内放置一个按钮

新手上路,请多包涵

我正在尝试设计一个表单,在文本框中有一个按钮。我希望该按钮位于文本框内。这就是我尝试的方式:

 <div class="row">
    <div class="col-sm-6">
        <div class="form-group required">
            <label for="PickList_Options" class="col-sm-4 control-label">Options</label>
            <div class="col-sm-4 buttonwrapper">
                <input type="text" class="form-control" id="PickList_Options" name="PickList_Options" value='' />
                <button>GO</button>
            </div>
        </div>
    </div>
    <div class="col-sm-6">
        <div class="result" id="mydiv"></div>
    </div>
</div>

我的CSS:

 .buttonwrapper {
    display:inline-block;
}

input,
button {
    background-color:transparent;
    border:0;
}

但是,问题是,Go 按钮位于文本框下方。我应该怎么做才能将它放在文本框中?

简单图像

我希望“开始”按钮位于文本框内。

原文由 SSS 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 828
2 个回答
 .buttonwrapper {
  display: inline-block;
}

input{
  background-color: transparent;
  border: 2px solid black;
}

button {
  margin-left: -50%;
  border: none;
  background-color: transparent;
}
 <div class="row">
  <div class="col-sm-6">
    <div class="form-group required">
      <label for="PickList_Options" class="col-sm-4 control-label">Options</label>

      <div class="col-sm-4 buttonwrapper">
        <input type="text" class="form-control" id="PickList_Options" name="PickList_Options" value='' />
        <button>GO</button>
      </div>
    </div>
  </div>
  <div class="col-sm-6">
    <div class="result" id="mydiv"></div>
  </div>
</div>

原文由 Federico 发布,翻译遵循 CC BY-SA 3.0 许可协议

请试试这个。 Remove the outline for the input in active and focus state, and add a border for the input container .

编辑:我也添加了 flex-box 实现。

  1. 显示 inline-block 实现
 .input-container{
    width: 250px;
    border: 1px solid #a9a9a9;
    display: inline-block;
}
.input-container input:focus, .input-container input:active {
    outline: none;
}
.input-container input {
    width: 80%;
    border: none;
}

.input-container button {
    float: right;
}
 <div class="input-container">
    <input type="text" class="input-field"/>
    <button class="input-button">Ok</button>
</div>
  1. 显示 flex 实施
 .input-container {
    display: flex;
    width: 250px;
    border: 1px solid #a9a9a9;
    justify-content: space-between;
}
.input-container input:focus, .input-container input:active {
    outline: none;
}
.input-container input {
    border: none;
}
 <div class="input-container">
    <input type="text" class="input-field"/>
    <button class="input-button">Ok</button>
</div>

原文由 Nitheesh 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏