2011-01-05 30 views
5

Oto mój przykładowy kod HTML.Jak przewijać przedmioty LI na stałej wysokości UL?

I chcę mieć przewijanie dla moich przedmiotów LI.

Które są z 2 poziomów. Znaczy, chcę zastosować klasy na każdym UL.

Jak mogę to zrobić? Korzystając z podkręcania JQuery lub CSS.

PS: Używam tego example.

<ul id="nav" class="dropdown"> 
<li class="dir"> 
    Item_Root 
    <ul> 
     <li class="dir"> 
      Item_1_Level 
      <ul> 
       <li>Item_Level_2</li> 
       <li>Item_Level_2</li> 
       <li>Item_Level_2</li> 
       <li>.... up to N items</li> 
      </ul> 
     </li> 
     <li>Item_Level_1</li> 
     <li>Item_Level_1</li> 
     <li>Item_Level_1</li> 
     <li>Item_Level_1</li> 
     <li>.... up to N items</li> 
    </ul> 
</li> 

</ul> 
+0

Co próbowaliście do tej pory? Co poszło nie tak? Jakiego rozmiaru powinien zawierać element zawierający -ul? Przykład, z którym się łączysz, to menu rozwijane/wyskakujące; jak to ma związek z tym, czego chcesz? –

Odpowiedz

19

Dzięki swoim wysłana dopłata, a najlepsze, że mógłbym zrobić z zamiarem pytaniem (tytuł niezbyt pasuje przykład jesteś powiązany), wpadłem na to:

#nav { 
    width: 12em; 
    height: 20em; 
    line-height: 2em; 
    border: 1px solid #ccc; 
    padding: 0; 
    margin: 0; 
    overflow: scroll; 
    overflow-x: hidden; 
} 

li { 
    border-top: 1px solid #ccc; 
} 

ul ul { 
    text-indent: 1em; 
} 

ul ul ul { 
    text-indent: 2em; 
} 

JS Fiddle Demo.

+0

Dzięki David, podłączyłem ten przykład, ponieważ śledzę to. I mógłbym mieć liczbę przedmiotów w moim LI. Podobnie jest z UL 2 poziomu. W rzeczywistości wiele elementów LI powoduje przewijanie na mojej stronie. Nie chcę, aby przeglądarka przewijała się. Ale moje przedmioty w LI. A po więcej chcę, aby mousemove przewinął w górę i przewiń w dół. Ciężko mi było znaleźć pomoc w przewinięciu moich przedmiotów LI w UL. Doceniam, jeśli mogę zobaczyć pomoc. –

+0

Czy chcesz, aby element "ul" drugiego poziomu znajdował się w tym samym "polu", co "ul" pierwszego poziomu, czy też chcesz, aby były wysuwane, tak jak w przykładzie, do którego się łączysz? A może chcesz je ukryć, a * wtedy * pojawiają się w tym samym "pudełku" co elementy "ul" pierwszego poziomu? –

+0

David Chcę, żeby się wysunęły. I zachowuj w nich to samo przewijanie. Podobne do przykładu. Jedynym przykładem jest to, że nie ma wystarczającej wartości, aby mieć ten scenariusz. Menu poziomu 1 zostanie opuszczone, a menu poziomu 2 zostanie wysunięte. Jak mogę to osiągnąć. Dzięki za odpowiedź. –

5

Główną ideą jest, aby ustawić stałą wysokość na liście UL i dodać

overflow: scroll; 

Może będzie trzeba także dostosować szerokość UL, ponieważ pasek przewijania będą musiały niektóre dodatkowa przestrzeń.

Powiązane problemy