2012-03-20 3 views
4

Ive пыталась сделать исходный выпадающий список на многоуровневый для сайта, на котором работает. Все мои попытки потерпели неудачу (по какой-то причине я могу сделать «margin-right» для выравнивания элементов, и это вызывает некоторые проблемы. Я думаю, что это имеет какое-то отношение к атрибуту позиции.Адаптация выпадающего меню HTML/CSS для многоуровневого

Вот мой HTML:

<ol id="nav"> 
      <li><a href="index.php">Home</a></li> 
      <li class="dropdown_alignedLeft"> 
       <a href="">Products</a> 
       <ul><li class="dropdown_alignedRight"> 
        <a href="">iPoP</a> 
        <ul style="margin-right:-400px; top:0px;-webkit-border-top-right-radius: 5px;border-top-right-radius: 5px;-moz-border-radius-topright: 5px;"><li><a href="customers.php?category=ipop">iPoP - Network Solutions for Vessels</a></li></ul><li class="dropdown_alignedRight"> 
        <a href="">Cameras</a> 
        <ul style="margin-right:-400px; top:0px;-webkit-border-top-right-radius: 5px;border-top-right-radius: 5px;-moz-border-radius-topright: 5px;"><li><a href="customers.php?category=icam">iCam 501 Ultra - Intrinsically Safe Digital Camera with Flash</a></li></ul><li class="dropdown_alignedRight"> 
        <a href="">BNWAS</a> 
        <ul style="margin-right:-400px; top:0px;-webkit-border-top-right-radius: 5px;border-top-right-radius: 5px;-moz-border-radius-topright: 5px;"><li><a href="customers.php?category=bnwas">BNWAS - Bridge Navigation Watch Alarm System</a></li></ul><li class="dropdown_alignedRight"> 
        <a href="">Lighting</a> 
        <ul style="margin-right:-400px; top:0px;-webkit-border-top-right-radius: 5px;border-top-right-radius: 5px;-moz-border-radius-topright: 5px;"><li><a href="customers.php?category=peli">Peli 2690 - Intrinsically Safe LED Head Lamp</a></li></ul><li class="dropdown_alignedRight"> 
        <a href="">Communication</a> 
        <ul style="margin-right:-400px; top:0px;-webkit-border-top-right-radius: 5px;border-top-right-radius: 5px;-moz-border-radius-topright: 5px;"><li><a href="customers.php?category=handy">Ex-Handy 06 - Intrinsically Safe Cell Phone</a></li></ul> 
       </ul> 
       <li class="dropdown_alignedLeft"> 
       <a href="">Customers</a> 
       <ul> 
        <li><a href="customers.php?category=maritime">Maritime</a></li> 
        <li><a href="customers.php?category=non">Non-Maritime</a></li> 
        <li class="dropdown_lastItem"><a href="customers.php?category=organizations">Regulatory Organizations</a></li> 
       </ul> 
      <li><a href="order.php">Product Enquiry</a></li> 
      <li><a href="contact.php">Contact Us</a></li> 
          <li class="dropdown_alignedLeft"> 
       <a href="">Company</a> 
       <ul> 
        <!-- <li><a href="">About Us</a></li> --> 
        <li><a href="newsandpr.php?category=News">News</a></li> 
        <li class="dropdown_lastItem"><a href="newsandpr.php?category=Press Release">Press Releases</a></li> 
       </ul> 
</ol> 

И мой CSS:

#nav { 
float:right; 
margin:15px 0 0; 
} 
#nav li { 
float:left; 
} 
#nav li a { 
display:block; 
font-family:"PT Sans","Helvetica Neue",Arial,sans-serif; 
font-size:16px; 
text-decoration:none; 
color:#2B95C8; 
padding:10px 20px 20px; 
} 
.dropdown_alignedLeft,.dropdown_alignedRight { 
position:relative; 
} 
#nav .dropdown_alignedLeft>a,#nav .dropdown_alignedRight>a { 
background:url(../images/dropdown_arrow_blue.png) no-repeat top right; 
padding:10px 30px 20px 20px; 
} 
#nav .dropdown_alignedLeft:hover>a,#nav .dropdown_alignedRight:hover>a { 
-moz-border-radius-topleft:5px; 
-moz-border-radius-topright:5px; 
-moz-border-radius-bottomright:0; 
-moz-border-radius-bottomleft:0; 
-webkit-border-top-left-radius:5px; 
-webkit-border-top-right-radius:5px; 
-webkit-border-bottom-right-radius:0; 
-webkit-border-bottom-left-radius:0; 
border-top-left-radius:5px; 
border-top-right-radius:5px; 
border-bottom-right-radius:0; 
border-bottom-left-radius:0; 
color:#FFF; 
background:#2378A1 url(../images/dropdown_arrow_blue.png) no-repeat bottom right; 
} 
.dropdown_alignedLeft ul,.dropdown_alignedRight ul { 
display:none; 
} 
#nav .dropdown_alignedLeft:hover>ul,#nav .dropdown_alignedRight:hover>ul { 
display:block; 
z-index:100; 
position:absolute; 
top:50px; 
-moz-border-radius-topleft:0; 
-moz-border-radius-topright:0; 
-moz-border-radius-bottomright:5px; 
-moz-border-radius-bottomleft:5px; 
-webkit-border-top-left-radius:0; 
-webkit-border-top-right-radius:0; 
-webkit-border-bottom-right-radius:5px; 
-webkit-border-bottom-left-radius:5px; 
border-top-left-radius:0; 
border-top-right-radius:0; 
border-bottom-right-radius:5px; 
border-bottom-left-radius:5px; 
background:#2378A1; 
padding:0 0 6px; 
} 
#nav .dropdown_alignedRight:hover>ul { 
top:50px; 
right:0; 
text-align:right; 
} 
#nav li ul li { 
float:none; 
border-bottom:1px dashed #2B95C8; 
margin:0 20px; 
} 
#nav li ul li.dropdown_innerTitle { 
border:none; 
font-family:"Helvetica Neue",Arial,sans-serif; 
font-size:15px; 
white-space:nowrap; 
color:#C8DDE7; 
margin:10px 20px 0; 
padding:10px 0; 
} 
#nav li ul li.dropdown_lastItem { 
border:none; 
} 
#nav li ul li a { 
font-family:"Helvetica Neue",Arial,sans-serif; 
font-size:13px; 
color:#FFF; 
white-space:nowrap; 
padding:10px 0 9px; 
} 
#nav>li:hover>a,#nav li .current_page { 
    color:#2378A1; 
    background:url(../images/current_page_arrow_blue.png) no-repeat center bottom; 
} 
#nav li ul li a:hover { 
    color: #C8DDE7; 
} 

Для живой версии меню, пожалуйста, зайдите сюда:

JSFiddle - Live Menu

ответ

1

Вы не закрывали много своих тегов li, и ваше подменю просто сортировалось, вылетая из контейнера. Вымытый код и сделали слишком много изменений, чтобы перечислить здесь:

http://jsfiddle.net/MmHSd/4/

+0

Люблю тебя <3 xoxo –

0

http://purecssmenu.com/ Можете помочь вам. Попробуйте загрузить список и взглянуть на него. Удаление всех лишних тегов, и взять все обратно в базовый список, как это:

<ul> 
    <li>Element 1</li> 
    <li>Element 2</li> 
<ul> 
    <li> 
    Element 2 Child 1 
    </li> 
    <li> 
    Element 2 Child 2 
    </li> 
</ul> 

и работать обратно к чему-то немного более сложным тоже может помочь.

+0

мне действительно нужно что-то на основе моей конструкции, не существует никакой возможности вы могли бы помочь мне изменить существующее меню для поддержки многоуровневого выпадающего меню? –