2014-10-02 85 views
1

我寫了一個小的通用菜單,需要幫助瞭解爲什麼第二級鏈接總是顯示在第一級鏈接的右側。代碼是有點長,所以這裏是一個jsfiddleCSS鏈接懸停定位問題

這裏是本質上發生的事情。

   <nav> 
        <ul> 
         <li><a href='#'>Link 1</a></li> 
         <li> 
          <a href='#'>Link 2</a> 
          <ul> 
           <li><a href='#'>Sub Link 1</a></li> 
          </ul> 
         </li> 
         <li> 
          <a href='#'>Link 3</a> 
          <ul> 
           <li><a href='#'>Sub Link 1</a></li> 
          </ul> 
         </li> 
         <li><a href='#'>Link 4</a></li> 
         <li><a href='#'>Link 5</a></li> 
         <li><a href='#'>Link 6</a></li> 
         <li><a href='#'>Link 7</a></li> 
         <li><a href='#'>Link 8</a></li> 
         <li> 
          <a href='#'>Link 8</a> 
          <ul> 
           <li><a href='#'>Sub Link 1</a></li> 
          </ul> 
         </li> 
        </ul> 
       </nav> 

鏈接2和鏈接2子鏈接懸停在右側。我想鏈接8子鏈接懸停左側。現在它超出了包裝div的界限。理想情況下,如果右側有足夠的空間(256像素),請將鼠標懸停在右側。如果沒有,則將鼠標懸停。最右邊的頂部鏈接應該有子鏈接懸停左側。

+5

不要以爲你可以用純CSS來實現這一點。 – 2014-10-02 15:48:39

+3

如果你想使用純CSS,你需要先定義它,你不能在CSS中有條件。另一種方法是使用Javascript。 – TheFrozenOne 2014-10-02 15:49:05

回答

0

我用

nav ul li:last-child ul { right: 0; } 

,因爲我真的不關心IE8或更低。