有没有办法通过 CSS 检测输入中是否有文本?我尝试过使用:empty
伪类,我尝试过使用[value=""]
,这两个都不起作用。我似乎无法找到单一的解决方案。
我想这一定是可能的,考虑到我们有伪类:checked
, and :indeterminate
,两者都是类似的东西。
请注意:我这样做是为了“时尚”风格,它不能利用 JavaScript。
另请注意,“时尚”是在客户端、用户无法控制的页面上使用的。
如果您的元素具有占位符属性,则可以使用:placeholder-shown
伪类。
placeholder 属性是必需的,不能为空,但可以使用单个空格。
input:not(:placeholder-shown) {
border-color: green;
}
input:placeholder-shown {
border-color: red;
}
<input placeholder="Text is required" />
<input placeholder=" " value="This one is valid" />
<input placeholder=" " />
The :placeholder-shown
财产是97% 的浏览器支持 https://caniuse.com/css-placeholder-shown并且一般可以安全使用。使用正确的前缀,它甚至可以在 IE10 中运行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)