当LABEL与INPUT不相邻时,CSS“ input:focus + label”可更改标签样式。可能吗?

时间:2018-09-20 22:17:48

标签: css css3 css-selectors

我有一个INPUT,后跟一个LABEL,以模拟一个占位符。当焦点位于控件上或其中有一个值时,标签将向上移动。

到目前为止,还不错....但是,某些INPUT已附加到jquery对象(例如,datetime对象)上。当焦点位于控件上时,DIV包含紧接INPUT之后的日历。该DIV位于INPUT和LABEL之间,因此CSS结构“ input:focus + label”不再起作用。

除了下一个LABEL,即使该LABEL不与DOM中的INPUT相邻,是否有相同的方法?

问候 海梅

2 个答案:

答案 0 :(得分:2)

您可以使用兄弟选择器~

input:focus ~ label

兄弟姐妹必须紧随元素之后。

https://developer.mozilla.org/en-US/docs/Web/CSS/General_sibling_selectors

答案 1 :(得分:1)

除了兄弟选择器(如ngearing所建议的那样),您还可以使用两个相邻的选择器,因此可以确保仅选择输入中两个元素以上的标签:

input:focus + div + label

div是您用来选择日历元素的选择器。