我正在尝试将放大镜作为输入元素的背景。放大镜图标是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>
感谢您的帮助。
答案 0 :(得分:7)
您宣布background-position
两次。第一个位于background
短手属性的末尾,第二个位于下一行。 解决方案:拆分所有单个background
规则,例如(另外,0 -24px
是正确的值):
#search-form input[type="text"] {
background-image: url('http://i.stack.imgur.com/MFpLm.png');
background-repeat: no-repeat;
background-position: 0 -24px;
border: 1px solid #a9e2ff;
padding: 3px;
width: 200px;
font-size: 1em;
padding-left: 20px;
}
现在你可以面对你的设计的真正问题:如果它们之间没有足够的空间,其他精灵将在输入区域中可见。