2013-01-10 100 views
0

我有一个WordPress主题,带有引导,有一个导航菜单。对于最后一个菜单项,我想要应用不同的风格:最后一个孩子。CSS psuedo类在IE9中不工作

这里是CSS,amoungst其他样式在许多样式表之一:

#main-nav ul.menu li:last-child a:hover { 
    /* Pink Exam Timetable for Phil */ 
    border-bottom-color: #F501FF; 
    background-color: #4B67A1; 
} 

一切都在Chrome和Firefox(因为它总是这样)的工作绝对罚款和“悬停”在工作正常IE9 & 10预览(在Win 7上),但由于一些奇怪的原因,'最后一个孩子'在IE9 & 10(在3台计算机上测试过)中不起作用。

我已经清除了缓存并尝试了各种方法,但是我无法使其正常工作。

+0

是'li'实际上是最后一个孩子,或者是有一个空的文本节点的东西? – robertc

+0

@robertc:我不认为CSS会考虑文本节点。还是呢? –

+0

如果你添加一个'last-child'类到你的css中并且你将它以编程方式应用到你的HTML中,会发生什么? – lante

回答

0

我对此没有任何问题。

<ul> 
    <li>Text</li> 
    <li><a>Text</a></li> 
</ul> 

li:last-child a:hover { 
    /* Pink Exam Timetable for Phil */ 
    border-bottom-color: #F501FF; 
    background-color: #4B67A1; 
} 

试试这个DEMO

的问题可能是你加价。

+0

也适用于我:) – Riskbreaker

-1

注意:我说的是跨浏览器(不只是IE9 ...)

最后孩子是不是100%跨浏览器友好尚未:

版本的Internet Explorer 9 <和Safari < 3.2绝对不支持它,尽管Internet Explorer 7和Safari 3.2确实支持:第一个孩子,好奇。

....如果你想有一个工程100%伪第一:孩子会工作:

你可以解决它把它扭转所以最后会为你的欲望工作(第一:子法)

或去手动:

您的例子中,你可能要做一个类定义是这样的:

CSS:

#main-nav ul.menu li .last a:hover { 
    /* Pink Exam Timetable for Phil */ 
    border-bottom-color: #F501FF; 
    background-color: #4B67A1; 
} 

你的HTML

<ul> 
    <li><a href="#">sdfds</a></li> 
    <li><a href="#">sdfds</a></li> 
    <li class="last"><a href="#">dfgdrg</a></li> 
    </ul> 
+0

否定?我的回答有什么问题? – Riskbreaker

+0

虽然这可能是真的,但它不回答OP的问题。 IE9 *支持':最后一个孩子'。 – cimmanon

+0

同意...但这可以是另一种方式来做到这一点....并且**这是工作在我的IE9(他的问题/代码)**的事实可能是一个较低版本的IE浏览器。 – Riskbreaker