我想在输入框的占位符中添加一个图片图标,就像这张图片中显示的一样:
请注意,这是一个占位符,所以当用户开始输入时,图标也会消失。
我使用了::-webkit-input-placeholder
和::before
来解决在webkit(Safari + Chrome)中的问题。不幸的是,这种直接应用在mozilla上似乎行不通。
所以我的问题是:有没有跨浏览器的解决方案来添加一个图片图标到一个输入框的占位符中?
在webkit中的解决方案:
#myinput::-webkit-input-placeholder::before {
content: ' ';
position: absolute;
top: 2px; /* adjust icon position */
left: 0px;
width: 14px; /* size of a single icon */
height: 14px;
background-image: url("/path/to/icons.png"); /* all icons in a single file */
background-repeat: no-repeat;
background-position: -48px 0px; /* position of the right icon */
}
:before
或:after
),或者你必须添加额外的DOM。为了让它们都起作用,图标应该在:hover
而不是:focus
时可见,因为这样图标就不在输入元素中了。查看演示。然而,使用JavaScript,你可以在焦点上激活图标。无论你喜欢哪种方式。 - Tim S.#search:focus
而不是#search:active
? - Nabi K.A.Z.