Я пытаюсь получить увеличительное стекло в качестве фона для моего элемента ввода. Значок увеличительного стекла является частью CSS спрайт, который выглядит следующим образом:Позиционирование фонового изображения на элементе формы с CSS спрайтами
Чтобы расположить его, я использовал эти свойства:
#search-form input[type="text"] {
background: url('../images/icons.png') no-repeat left center;
background-position: 0px -30px;
border: 1px solid #a9e2ff;
padding: 3px;
width: 200px;
font-size: 1em;
padding-left: 20px;
}
Но фон по-прежнему появляется в верхней окна ввода, а не выравниваться в вертикальной середине и влево. Я также пробовал делать:
background: url('../images/icons.png') no-repeat left middle;
, но это не работает.
Если это имеет значение, хотя я предполагаю, что это не так, вот моя форма разметки:
<form action="/search" method="get" id="search-form">
<input type="text" placeholder="Search..." name="s">
</form>
Спасибо за любую помощь.
Хорошо поймать/ответить! –
Спасибо! Я думал, что есть способ сделать это, не добавляя лишнего пространства между моими спрайтами, но, видимо, нет. :) –
@MartinHoe Обычно вам просто нужно обернуть спрайт в коробке, которая точно такая же, как размер значка. К сожалению, вы не можете этого сделать, потому что вы не можете иметь элементы блока внутри поля ввода. –