下面是我的HTML结构
<div class="footerMenu">
<ul>
<li>Home</li>
<li>About</li>
<li>Feedback</li>
<li>Contact us</li>
</ul>
</div>
但
.footerMenu li:last-child { }
选择似乎并不IE8工作。 但是http://msdn.microsoft.com/en-us/library/cc351024%28VS.85%29.aspx告诉伪选择是suppported.Any帮助这个!
你读错。 它说,它不是在IE8的支持:
如果你正在看:first-child
,它确实有在IE7和IE8的支持,并认为同样适用于:last-child
...惊喜! 事实并非如此。
:first-child
是一个CSS2选择,但:last-child
只在CSS3介绍,如此以来,微软只瞄准CSS2.1符合IE8,他们可能没有理会:last-child
,直到后IE8。
如果你知道你将只有四天li
的元素,那么你应该能够使用相邻同胞选择到达第四li
:
.footerMenu li:first-child + li + li + li
要建立在其他人的答案,另一种可能是使用JavaScript来填补国内空白,selectivizr是将最后的子女抚养费的一个很好的例子。
http://selectivizr.com/
您提供的链接表明,它不支持IE8 ... IE9 +只。 谷歌搜索最后孩子IE8带来了类似的查询一大堆。
你在哪里看的? :first-child
是支持回IE7,但:last-child
是IE9及更高版本。
(头向下移动,为您提供方便)
其他的答案是正确的,IE8不支持最后的孩子。 然而,为您解决特定的问题,您既可以一)一类手动添加到最后一个<li>
或b),因为这是一个菜单,这将可能有它们内部链接,目标与属性选择器的最后一个环节,这确实在IE8工作。 就像是
.footermenu a[href="contact.html"] { ... }
尝试使用类似的东西:
.footerMenu li {background-color: expression(this.previousSibling==null?'red':'green');}
我知道它老了,但...有一个简单的方法来做到这一点:
就在李想要改变这样做:
<li style="yourstyle;">
... </li>