2013-01-10 85 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