代码之家  ›  专栏  ›  技术社区  ›  jstuardo

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

  •  -2
  • jstuardo  · 技术社区  · 7 年前

    到目前为止,还不错。。。。但是,有些输入附加到jquery对象(例如,datetime对象)。当焦点在控件上时,一个在输入之后包含日历的DIV。DIV放在输入和标签之间,因此CSS结构input:focus + 标签“不工作了。

    有没有一种方法可以对下一个标签执行相同的操作,即使该标签与DOM中的输入不相邻?

    当做

    2 回复  |  直到 7 年前
        1
  •  2
  •   ngearing    7 年前

    您可以使用同级选择器 ~ .

    input:focus ~ label
    

    同级必须在元素之后而不是之前。

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

        2
  •  1
  •   Adam    7 年前

    除了同级选择器之外,正如ngearing所建议的,您还可以使用两个相邻的选择器,这样就可以确保您只选择了从输入中超过两个元素的标签:

    input:focus + div + label
    

    在哪里? div

    推荐文章