You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在输入框placeholder中添加Font Awesome图标?

在输入框Placeholder中添加Font Awesome图标解决方案

首先修正你代码里的CSS拼写错误:CSS中颜色相关属性是美式拼写color,背景色是background-color,不是colour,这会导致部分样式不生效。

接下来解决图标问题:<input>属于替换元素,浏览器不支持直接给它添加:before/:after伪元素;直接在placeholder里用Unicode无效,通常是因为字体未正确加载或字体权重设置不对。下面给出两种可靠的实现方式:

方法一:用容器包裹输入框(推荐,兼容性更好)

通过容器承载输入框和图标,利用容器的伪元素实现图标效果,视觉上和placeholder融合:

HTML代码

<div class="search-wrap">
  <input type="text" name="search bar" placeholder="search">
</div>

CSS代码

/* 容器定位,替代原input的绝对定位 */
.search-wrap {
  position: absolute;
  right: 188px;
  top: 24px;
  width: 4%;
}

.search-wrap input {
  width: 100%;
  background-color: #000;
  color: antiqueWhite;
  padding-left: 22px; /* 给图标留出左侧空间,避免文字覆盖 */
  border: none; /* 可根据需求调整边框样式 */
}

/* 用容器伪元素添加Font Awesome图标 */
.search-wrap::before {
  content: "\f002"; /* 搜索图标的Unicode,可替换为你需要的图标代码 */
  font-family: "Font Awesome 6 Free"; /* 对应你使用的Font Awesome版本,如FA5则写"Font Awesome 5 Free" */
  font-weight: 900; /* 实心图标需设置900权重,空心图标用400 */
  position: absolute;
  left: 6px;
  top: 50%;
  transform: translateY(-50%);
  color: antiqueWhite;
  font-size: 14px; /* 根据输入框大小调整图标尺寸 */
}

::placeholder {
  color: antiqueWhite;
}

方法二:直接在Placeholder中使用Unicode(需注意兼容性)

如果坚持直接用placeholder实现,需确保Font Awesome字体已正确引入,同时给placeholder设置对应字体和权重:

HTML代码

<input type="text" name="search bar" placeholder="&#xf002; search">

CSS代码

input {
  width: 4%;
  position: absolute;
  right: 188px;
  top: 24px;
  background-color: #000;
  /* 把Font Awesome字体放在前面,确保图标正确渲染 */
  font-family: "Font Awesome 6 Free", sans-serif;
}

::placeholder {
  color: antiqueWhite;
  font-family: "Font Awesome 6 Free", sans-serif;
  font-weight: 900; /* 对应图标的权重要求 */
}

注意事项

  • 必须先引入Font Awesome的样式文件(本地或官方资源均可),否则图标无法显示。
  • 不同版本的Font Awesome字体名称和图标Unicode可能有差异,需根据使用版本调整。

内容的提问来源于stack exchange,提问作者Josh Brook

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 13:12:15