CSS子选择器

CSS子选择器,css,css-selectors,Css,Css Selectors,我有两个标签在一个我想样式的第二个标签,有没有一种方法来针对第二个标签。它必须在IE7上工作 我是这样写的 <ul> <li> <label for="asi plan status">A&SI Accountable VP:</label> <label>Tye Schriever</label> <

我有两个标签在一个我想样式的第二个标签,有没有一种方法来针对第二个标签。它必须在IE7上工作

我是这样写的

         <ul>
          <li>
             <label for="asi plan status">A&SI Accountable VP:</label>
             <label>Tye Schriever</label>
           </li>
            </ul>

ul li label label{color:red}
  • A&SI负责副总裁: 泰施里弗
ul li标签{颜色:红色}
是否有其他方法?

您可以使用,但Internet Explorer不支持这种方法

li label:last-child { color:red }
为标签指定一个class属性,以使其在所有浏览器上正常工作。

您可以使用,但Internet Explorer不支持

li label:last-child { color:red }

将class属性指定给标签,以使其在所有浏览器上正常工作。

正如其他人所提到的,有合法的CSS选择器可以实现您想要的功能,但IE7不支持这些选择器

当我需要修补对IE7中的
:last child
的支持时,我将此技术用于jQuery:

$('li label:last-child').addClass('last-child');
然后在我的CSS中我可以使用

li label.last-child {
  /* some styles here */
}

因此,我们利用jQuery优秀的CSS选择器支持将类应用于您想要设置样式的元素,然后在CSS>

中设置它们的样式,正如其他人所提到的,有合法的CSS选择器可以实现您想要的,但IE7不支持这些选择器

当我需要修补对IE7中的
:last child
的支持时,我将此技术用于jQuery:

$('li label:last-child').addClass('last-child');
然后在我的CSS中我可以使用

li label.last-child {
  /* some styles here */
}

因此,我们利用jQuery出色的CSS选择器支持,将类应用于要设置样式的元素,然后在CSS>

中设置它们的样式。您可以使用css2
:first child
属性共同定义第二个标签的属性&通过
first child
您可以覆盖first
标签的CSS属性,如下所示:

label{color:red}
label:first-child{color:yellow}

IE7也支持它,但方法不同。

您可以使用css2
:第一个孩子
属性共同定义第二个标签的属性&通过
第一个孩子
您可以覆盖第一个
标签
的css属性,如下所示:

label{color:red}
label:first-child{color:yellow}

IE7也支持它,但方法不同。

如果只需要针对第二个标签,而不需要其他标签,则可以使用

ul li label + label

不需要重写或CSS3的
:最后一个孩子
或添加类来解决IE等问题。尽管评论提到IE7和IE8在
+
选择器方面存在问题,但在这种情况下它应该可以正常工作。

如果您只需要针对第二个标签,而不需要其他标签,您可以使用

ul li label + label

不需要重写或CSS3的
:最后一个孩子
或添加类来解决IE等问题。尽管评论提到IE7和IE8在
+
选择器上存在问题,但在这种情况下,它应该能正常工作。

CSS3的方法是:
ul li label+label
,但我不确定IE7是否支持这个,相邻的兄弟姐妹?我想这是css2.1,不是3。和@Exelian@David Thomas:AFAIK IE7/IE8只有在非常特定的情况下才有解析问题<代码>ul li标签+标签
应能正常工作。是
+
是一个CSS2.1选择器。仅仅因为它不是你每天看到的语法,或者你认为它对IE的支持很差,并不能使它成为一个全新的CSS3功能。CSS3的方式是:
ul li label+label
,但我不确定IE7是否支持它。相邻的兄弟姐妹?我想这是css2.1,不是3。和@Exelian@David Thomas:AFAIK IE7/IE8只有在非常特定的情况下才有解析问题<代码>ul li标签+标签
应能正常工作。是
+
是一个CSS2.1选择器。仅仅因为它不是你每天都能看到的语法,或者你认为它对IE的支持很差,并不能使它成为一个全新的CSS3功能。如果
:last child
不需要长链的
+
选择器就可以访问,那么使用
+
来获得免费的IE7支持。非常正确,这只是在IE7中使用
:last child
的一个更通用的解决方案。如果
:last child
不需要长链的
+
选择器就可以到达,使用
+
来获得免费的IE7支持。没错,这只是在IE7中使用
:last child
的一个更通用的解决方案。