如何在输入文本中添加搜索和麦克风按钮?

How to add search and mic button in input text?

我想在输入文本的左侧添加一个搜索图标,在右侧添加一个扬声器图标。

像这样

目前我有:

这是我的代码:

.search-bar {
  width: 20%;
  position: relative;
}

.search-bar input {
  width: 100%;
  height: 30px;
  text-align: center;
  border: none;
  border-radius: 18px;
  outline: none;
}

.search-ico {
  position: absolute;
  left: 10px;
}
<!--Search Bar-->
<div class="search-bar">
  <input type="text" name="search" placeholder="Search" />
  <i class="fa-solid fa-magnifying-glass search-ico"></i>
</div>

我怎样才能做到这一点?谢谢

你走对了,使用position: absolute设置图标

body {
  background: #333;
  marging: 0;
}
.search-bar {
  width: 30%;
  position: relative;
}

.search-bar input {
  width: calc(100% - 60px);
  height: 30px;
  text-align: center;
  border: none;
  border-radius: 18px;
  outline: none;
  padding: 0 30px;
}

.search-ico {
  position: absolute;
  left: 10px;
  top:8px;
}

.microphone-ico {
  position: absolute;
  right: 10px;
  top: 8px;
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

<!--Search Bar-->
<div class="search-bar">
  <input type="text" name="search" placeholder="Search" />
  <i class="fa fa-search search-ico"></i>
  <i class="fa fa-microphone microphone-ico"></i>
</div>

除了上面的答案之外,您还可以使用 cursor:pointer; 为模拟鼠标的图标添加指针,例如:

body {
  background: #333;
  marging: 0;
}
.search-bar {
  width: 30%;
  position: relative;
}

.search-bar input {
  width: calc(100% - 60px);
  height: 30px;
  text-align: center;
  border: none;
  border-radius: 18px;
  outline: none;
  padding: 0 30px;
}

.search-ico {
  position: absolute;
  left: 10px;
  top:8px;
  cursor: pointer; // add cursor
}

.microphone-ico {
  position: absolute;
  right: 10px;
  top: 8px;
  cursor: pointer; // add cursor
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

<!--Search Bar-->
<div class="search-bar">
  <input type="text" name="search" placeholder="Search" />
  <i class="fa fa-search search-ico"></i>
  <i class="fa fa-microphone microphone-ico"></i>
</div>


如果你使用 bootstrap 4 你可以使用像这样的输入组:

.input-group-text i{
  cursor:pointer;
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<div class="input-group mb-3">
  <div class="input-group-prepend">
    <span class="input-group-text"><i class="fa fa-search search-ico"></i></span>
  </div>
  <input type="text" class="form-control" aria-label="Search here">
  <div class="input-group-append">
    <span class="input-group-text"><i class="fa fa-microphone microphone-ico"></i></span>
  </div>
</div>

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>