将搜索图标添加到 Wordpress 搜索栏

Adding a search icon to a Wordpress Search bar

我正在使用以下 WordPress 函数输出 WP 搜索表单:echo get_search_form();

前端顶部栏上的结果输出:

<form class="search-form" method="get" action="http://bio-04.eproofs.ca/" role="search">
<label class="search-form-label screen-reader-text" for="searchform-1"> To search, type and hit enter.</label>
<input class="search-form-input" type="search" name="s" id="searchform-1" placeholder=" To search, type and hit enter.">
<input class="search-form-submit" type="submit" value="Search"><meta content="http://bio-04.eproofs.ca/?s={s}">
</form>

我想在占位符内添加一个搜索图标(放大镜)。目前我只有占位符内有文本。我尝试使用 before 伪元素,但没有成功。类似于:

label:before {
  content: "";
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
  width: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25' fill-rule='evenodd'%3E%3Cpath d='M16.036 18.455l2.404-2.405 5.586 5.587-2.404 2.404zM8.5 2C12.1 2 15 4.9 15 8.5S12.1 15 8.5 15 2 12.1 2 8.5 4.9 2 8.5 2zm0-2C3.8 0 0 3.8 0 8.5S3.8 17 8.5 17 17 13.2 17 8.5 13.2 0 8.5 0zM15 16a1 1 0 1 1 2 0 1 1 0 1 1-2 0'%3E%3C/path%3E%3C/svg%3E") center / contain no-repeat;
}

可以在这里找到该网站:http://bio-04.eproofs.ca/

是否可以仅使用 css 和输出的现有 类 来完成?

该标签有一些属性(可能是设计有意或由于框架)阻止您的图标显示:

  • 剪辑
  • 剪辑路径
  • 宽度:1px
  • 高度:1px

如果您在标签上禁用这些(从另一个也添加了这些的 class 禁用),您将看到您的图标。但是你也会看到标签上你不想看到的文字。

这是我的建议,您将伪代码放在表单标签而不是标签上。

form.search-form:before {
      content: "";
      position: absolute;
      left: 10px;
      top: 0;
      bottom: 0;
      width: 20px;
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25' fill-rule='evenodd'%3E%3Cpath d='M16.036 18.455l2.404-2.405 5.586 5.587-2.404 2.404zM8.5 2C12.1 2 15 4.9 15 8.5S12.1 15 8.5 15 2 12.1 2 8.5 4.9 2 8.5 2zm0-2C3.8 0 0 3.8 0 8.5S3.8 17 8.5 17 17 13.2 17 8.5 13.2 0 8.5 0zM15 16a1 1 0 1 1 2 0 1 1 0 1 1-2 0'%3E%3C/path%3E%3C/svg%3E") center / contain no-repeat;
    }

同时添加以下内容,使图标保留在您的表单中

form.search-form {
  position:relative;
}

从那里开始,您可以决定将图标放置在搜索框的右侧,而不是距离左侧 10 像素的位置。 如果不希望搜索词与搜索图标重叠,可以在input标签右侧添加padding。