小编典典

我可以在输入字段上使用 :before 或 :after 伪元素吗?

all

我正在尝试:after在字段上使用 CSS 伪元素input,但它不起作用。如果我将它与 a 一起使用span,它可以正常工作。

<style type="text/css">
.mystyle:after {content:url(smiley.gif);}
.mystyle {color:red;}
</style>

这有效(将笑脸放在“buu!”和“更多”之前)

<span class="mystyle">buuu!</span>a some more

这不起作用 - 它仅将 someValue 着色为红色,但没有笑脸。

<input class="mystyle" type="text" value="someValue">

我究竟做错了什么?我应该使用另一个伪选择器吗?

注意:我不能span在 my 周围添加 a input,因为它是由第三方控件生成的。


阅读 119

收藏
2022-03-02

共1个答案

小编典典

:after并且:before在 Internet Explorer 7 及更低版本中不受任何元素的支持。

它也不适用于替换元素,例如 表单元素 (输入)和 图像元素

换句话说,纯 CSS是 不可能的。

但是,如果使用jquery,您可以使用

$(".mystyle").after("add your smiley here");

.after 上的 API 文档

用 javascript 附加您的内容。这将适用于所有浏览器。

2022-03-02