我正在创建一个 HTML5 表单,并且我在除 Chrome 之外的所有现代浏览器中都可以使用以下 css:
input:focus:required:invalid:after, textarea:focus:required:invalid:after { content: "!"; font-size: 20px; margin: -18px 0 4px 0; text-shadow: 0 1px 4px rgba(0, 0, 0, 0.75); display: block; float: right; color: #c40000; }
input:focus:required:valid:after, textarea:focus:required:valid:after { content: "\2713\0020"; font-size: 20px; margin: -18px -4px 4px 0; text-shadow: 0 1px 4px rgba(0, 0, 0, 0.75); display: block; float: right; color: #009c00; }
当输入文本无效时,这应该显示一个感叹号(!)和一个复选标记(✓),就像在所有其他浏览器中一样,但由于某种原因 Chrome 不喜欢它。
我已经尝试按照此处的建议使用 :before 伪,但它也不起作用。css 出现在 Chrome 的开发者工具样式中,但没有任何显示。请不要建议说“为什么不使用小图像而不是实际字符”,因为这是不可接受的。非常感谢所有其他建议!:)