4

有没有一种可能的方法来定位 css3 中输入的标签?例如我尝试了这种方法 -

input[type="text"]:focus label:target {
    color:orange !important;
}

似乎不起作用,只是想知道还是这只是 jquery 的工作?

谢谢!

4

2 回答 2

4

:target伪类不会做你认为它做的事,并且永远label不能作为 的后代存在input,所以这行不通。

如果您试图通过父母或属性来引用与 alabel相关联的a ,那么 CSS3 是不可能的。如果它是跟随在 , 之后的兄弟,您只能使用以下任一方法来引用:inputforlabelinput

input[type="text"]:focus + label
input[type="text"]:focus ~ label

如果label是祖先、前兄弟或完全其他地方,则需要使用 jQuery 遍历 DOM 并定位它。

于 2012-10-08T19:31:45.140 回答
0

使用 CSS4,您可以这样做:

!label /for/ input[type="text"]:focus,
!label input[type="text"]:focus {
    ...
}

第一个允许<label for="inputid">,第二个允许<label><input type="text"/></label>

但是 CSS4 支持非常有限。不过,把它放在那里也没有坏处。

于 2012-10-08T19:37:51.153 回答