我试图在输入字段上使用:after CSS伪元素,但它不起作用。如果我将其与跨度一起使用,它可以正常工作。
<style type="text/css">
.mystyle:after {content:url(smiley.gif);}
.mystyle {color:red;}
</style>
这是有效的(将笑脸放在“buu!”之后,然后放在“somemore”之前)
<span class="mystyle">buuu!</span>a some more
这不起作用-它只将someValue涂成红色,但没有笑脸。
<input class="mystyle" type="text" value="someValue">
我做错了什么?我应该使用另一个伪选择器吗?
注意:我不能在输入周围添加跨度,因为它是由第三方控件生成的。
您不能在输入元素中放置伪元素,但可以放置阴影元素,如占位符!
input[type="text"] {
&::-webkit-input-placeholder {
&:before {
// your code
}
}
}
要使其在其他浏览器中工作,请在不同的选择器中使用:-moz占位符、::-moz placeholder和:-ms input placeholder。无法对选择器进行分组,因为如果浏览器无法识别选择器,则整个语句将无效。
更新:以上代码仅适用于CSS预处理器(SASS、LESS…),不使用预处理器:
input[type="text"]::-webkit-input-placeholder:before { // your code }
您不能在输入元素中放置伪元素,但可以放置阴影元素,如占位符!
input[type="text"] {
&::-webkit-input-placeholder {
&:before {
// your code
}
}
}
要使其在其他浏览器中工作,请在不同的选择器中使用:-moz占位符、::-moz placeholder和:-ms input placeholder。无法对选择器进行分组,因为如果浏览器无法识别选择器,则整个语句将无效。
更新:以上代码仅适用于CSS预处理器(SASS、LESS…),不使用预处理器:
input[type="text"]::-webkit-input-placeholder:before { // your code }