2012-03-20 16 views
4

作業中のサイトの元のドロップダウンリストを複数のレベルに設定しようとしていました。私の試みはすべて失敗しました(何らかの理由で要素を揃えるのに "マージン - 右"しかできませんが、これはいくつかの問題を引き起こします)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

、あなたは私がマルチレベルドロップダウンをサポートするための既存のメニューを変更助けることができる何の可能な方法はありませんか? –

関連する問題