Подтвердить что ты не робот

Как добавить кнопку поиска в поле ввода текста?

Как создать аналогичный элемент "поиск" в файле этот сайт?

enter image description here

Если мы рассматриваем источник, у него есть одно текстовое поле, за которым следует тег <span>.

<input type="text" name="q" id="site-search-input" autocomplete="off" value="Search" class="gray" />
<span id="g-search-button"></span>

Где можно получить аналогичное изображение "увеличительного стекла"?

4b9b3361

Ответ 1

Поместите изображение в диапазон, например, используя background-image, затем придайте ему относительное положение и переместите его влево, чтобы он перекрывал правый конец окна поиска, например:

#g-search-button {
  display: inline-block;
  width: 16px;
  height: 16px;
  position: relative;
  left: -22px;
  top: 3px;

  background-color: black;  /* Replace with your own image */
}

Рабочий пример в JSBin

Ответ 2

Ваши глаза обманывают вас. Кнопка не находится в текстовом поле. Использование фонового изображения НЕ, так как оно не предоставляет кнопку нажатия кнопки.

Что вам нужно сделать, это добавить обертку div вокруг ввода: текст и ввод: отправить

Оболочка будет выглядеть как текстовое поле, но на самом деле будет содержать прозрачное текстовое поле и кнопку отправки. Вам нужно будет специально удалить стили для ввода: текст и ввод: представить элементы

<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta charset="UTF-8">
  <title>Input Example</title>
  <style type="text/css">
/* <![CDATA[ */

.search
{
  border: 1px solid #000000;
  width: 200px;
}

.search input[type="text"]
{
  background: none;
  border: 0 none;
  float: left;
  height: 1.5em;
  line-height: 1.5em;
  margin: 0;
  padding: 3px 0;
  width: 180px;
}

.search input[type="submit"]
{
  background: #CCCCCC url(path/to/image.jpg);
  border: 0 none;
  height: 1.5em;
  line-height: 1.5em;
  margin: 0;
  padding: 3px 0;
  text-indent: 100px;
  width: 20px;
}

/* ]]> */
  </style>
</head>
<body>
  <form ...>
    <div class="search">
      <input type="text" />
      <input type="submit" />
    </div>
  </form>
</body>
</html>

Очень важно, чтобы вы сохраняли кнопку отправки, в противном случае нажатие на ввод во время поиска не будет иметь реакции по умолчанию. Кроме того, размещение кнопки отправки после текстового поля позволяет людям фактически нажимать на кнопку.

EDIT: вы можете сделать свой собственный увеличительный образ, их довольно легко сделать в прозрачном png 20x20px.

Ответ 3

Если вы просматриваете страницу в Google Chrome, щелкните правой кнопкой мыши по кнопке поиска и выберите "Осмотреть элемент", вы сможете увидеть CSS, используемый для достижения этого эффекта.

Если вы не знакомы с CSS, я настоятельно рекомендую 'CSS: окончательное руководство.

Ответ 4

У такого сайта, как Iconspedia, есть количество бесплатных значков, которые похожи.

Где бы вы ни находили значок, будьте осторожны, чтобы убедиться, что у вас есть права использовать его в своем приложении. Многие графики защищены, а некоторые имеют ограничительные лицензии.

Ответ 5

Я хотел бы подключить новый плагин jQuery, который я написал, потому что я чувствую, что он отвечает на запрос OP. Он называется jQuery.iconfield: https://github.com/yotamofek/jquery.iconfield.

Это позволяет вам легко добавить значок в левую часть текстового поля. Для использования значка в виде кнопки вы можете легко привязываться к событию "iconfield.click", которое запускается, когда пользователь щелкает значок. Он также позаботится об изменении курсора, когда мышь висит над значком.

Например:

$('#search-field').iconfield( {
    'image-url':   'imgs/search.png', // url of icon
    'icon-cursor': 'pointer'          // cursor to show when hovering over icon
} );
$('#search-field').on( 'iconfield.click', function( ) {
    $('#search-form').submit()
}

Я хотел бы получить некоторые отзывы о моей работе.

Ответ 6

Если вы используете фоновое изображение в поле, тогда нет способа привязки к нему, чтобы получить действие click. Таким образом, решение состоит в том, чтобы иметь отдельное поле поиска и изображение, поэтому вы можете связать событие click в jQuery с изображением. Скрипт здесь:

http://jsfiddle.net/Lzm1k4r8/23/

Вы можете отрегулировать положение left: в левой или правой части окна поиска.

Ответ 7

Чтобы помочь с отзывами пользователей, почему бы не добавить значок указателя на вашу мышь, когда вы нависаете над увеличительным стеклом? Просто примените это к своему CSS:

.search: hover {   курсор: указатель; }