We currently do not support :before and :after for input[type=text]. <style> .a:before { content: "before "; } .a:after { content: " after"; } </style> <input class=a> <span class=a>span</span> http://www.plexode.com/cgi-bin/eval3.py#ht=%3Cstyle%3E%0A.a%3Abefore%20%7B%0A%20%20content%3A%20%22before%20%22%3B%0A%7D%0A.a%3Aafter%20%7B%0A%20%20content%3A%20%22%20after%22%3B%0A%7D%0A%3C%2Fstyle%3E%0A%0A%3Cinput%20class%3Da%3E%0A%3Cspan%20class%3Da%3Espan%3C%2Fspan%3E&ohh=1&ohj=1&jt=&ojh=1&ojj=1&ms=100&oth=0&otj=0&cex=1
Working as expected. Please confirm so that can close the issue.