将按钮放置在输入中

时间:2018-12-03 22:06:02

标签: html css

我需要放置带有图标,输入的按钮,所以我尝试了HTML:

(JSFiddle示例:https://jsfiddle.net/mdmoura/zup3b24e/12/):

<form>       
  <div class="wrapper">
    <input type="text">
    <button type="submit">
      <i class="fa fa-search"></i>
    </button>
  </div>
</form>

使用以下CSS:

form {
  width: 400px;
}

.wrapper {
  position: relative;
}

input {
  font-size: 18px;
  padding: 10px;
  width: 100%;
}

button {
  background-color: white;
  border: none;
  font-size: 24px;
  position: absolute;
  right: 0;
}

但这不会将按钮放置在输入中。

这怎么办?

2 个答案:

答案 0 :(得分:2)

您需要做的就是将bottom: 8px;添加到按钮上,以便将其8px向上移动到视觉上的输入框中。

button {
  background-color: white;
  border: none;
  font-size: 24px;
  position: absolute;
  right: 0;
  bottom: 8px;
}

form {
  width: 400px;
}

.wrapper {
  position: relative;
}

input {
  font-size: 18px;
  padding: 10px;
  width: 100%;
}

button {
  background-color: white;
  border: none;
  font-size: 24px;
  position: absolute;
  right: 0;
  bottom: 8px;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>

<form>       
  <div class="wrapper">
    <input type="text">
    <button type="submit">
      <i class="fa fa-search"></i>
    </button>
  </div>
</form>

更新的JSFiddle:https://jsfiddle.net/zup3b24e/14/

答案 1 :(得分:0)

如果您要沿这个方向前进,则是一种构建内部带有很棒字体的输入表单的简单方法

input[type="text"] {
    width: 400px;
    height: 20px;
    padding: 10px;
}

input[type="submit"] {
    font-family: FontAwesome;
    font-size: 24px;
    margin-left: -50px;
    background-color: white;
    border: none;
    -webkit-appearance: none;
}
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<input type="text"><input type="submit" value="&#xf002;">