2012-12-22 38 views
-1

我試圖創建一個使用CSS的下拉菜單更改顯示的值,它是圍繞使用下面的中心整個事情。與CSS「+」操作符

<ul id="main_nav"> 
    <a href=""><li id="li_id">Home</li></a> 
    <ul id="sub_who">                                  
    <li>Foo</li> 
    </ul> 
</ul> 

#submenu_div不在前面的代碼引用的li所在的ul的父div的外部。據我所知,這應該起作用。但我顯然做錯了什麼,有什麼想法?

+1

讓我們看看一些html。 – Musa

+1

然後'div'是'ul'的兄弟,而不是'li',並且不能從'li'或它的':hover'事件中作爲目標。順便提及'div'不是'ul'的有效子元素,所以這個選擇器不應該匹配一個元素。 –

+0

我已經刪除了div,所以現在我有一個li應該改變懸停時的顯示值,然後是我想改變的ul whos顯示值。儘管如此,仍然無法運作。 – CSED

回答

1

#submenu_div在父代div之外,其中前面的代碼指向的li存在於ul的父div中。

+組合子看起來只有一個真正的同級元素,即具有相同父作爲任何匹配+的左手側的元件。你不能讓它匹配其他任何東西。您將需要更改您的HTML(所以#submenu_div#li_id的真正兄弟)或您的CSS(因此+的LHS上的東西是#submenu_div的真正兄弟)或兩者。

沒有看到你的HTML結構,我不能給出更精確的建議。

+0

我已經修復了HMTL並刪除了div,因爲大衛托馬斯說div不是一個有效的孩子,所以我猜這代表了一個li。這是你的意思嗎? – CSED

+0

想通了。像現在的魅力一樣工作,謝謝。 – CSED