更新 - 2016年3月24日
我想概括一下这些问题,但看起来它已被理解为具体,我的不好。 This answer是我之前使用的示例的100%解决方案。
请参阅此CodePen
因此样式空文本框背后的想法是
textbox:empty ~ label {
// position it as floating label
}
现在看起来在CSS中是不可能的,可能在将来。
更新 - 2016年3月23日
This answer已接近尾声。
但使用:invalid
不是一个选项,因为它会使该字段成为required=true
属性的必填字段。
请使用javascript参考此CodePen获取所需的行为。演示是为了解释,它应该如何表现,使用javascript不是预期的行为。另外使用的颜色只是为了对比,与验证无关
是否有办法仅使用CSS设置空文本框的样式?
我尝试:empty
pseudo-class
,遗憾的是textbox
始终被检测为空;因为它没有子节点或文本节点。确切地说,textbox
是一个自动关闭的标签。
:empty伪类表示任何没有子元素的元素。仅考虑元素节点和文本(包括空格)。
任何指针都会有所帮助。
答案 0 :(得分:4)
这可以通过使用:invalid
并将input
设置为required="true"
input {
padding: 10px;
background-color:red;
}
input:invalid {
background-color:lightblue;
}

<input id="in1" required="true">
&#13;
答案 1 :(得分:0)
可以使用h3 = t.find_all("h3"), line 21
伪元素,如下所示:http://codepen.io/thierry/pen/oxWMwy
答案 2 :(得分:0)