2016-08-05 13 views
0

ドロップダウンメニューでサブメニューを作成したいのですが、これを修正するコードが見つかりません。ドロップダウンメニュー(HTML/CSS)でサブメニューを作成する方法

HTMLのCODE:

<nav id='menu'> 
    <ul> 
    <li><a class='home' href='/'>Home</a></li> 
    <li><a class='prett' href='#' title='Menu'>Menu</a> 
     <ul class='menus'> 
     <li><a class='prett' href='Dropdown 1' title='Dropdown 1'>Dropdown 1 + Sub Menu</a> 
      <ul class='submenu'> 
      <li><a href="#" title="Sub Menu">Sub Menu</a></li> 
      </ul> 
     </li> 
     <li><a href='#' title='Dropdown 2'>Dropdown 2</a></li> 
     <li><a href='#' title='Dropdown 3'>Dropdown 3</a></li> 
     </ul> 
    </li> 
    </ul> 
</nav> 

CSSコード:

#menu{background:#343434;color:#eee;height:35px;border-bottom:4px solid #eeeded} 
#menu ul,#menu li{margin:0 0;padding:0 0;list-style:none} 
#menu ul{height:35px} 
#menu li{float:left;display:inline;position:relative;font:bold 12px Arial;text-shadow: 0 -1px 0 #000;border-right: 1px solid #444;border-left: 1px solid #111;text-transform:uppercase} 
#menu li:first-child{border-left: none} 
#menu a{display:block;line-height:35px;padding:0 14px;text-decoration:none;color:#eee;} 
#menu li:hover > a,#menu li a:hover{background:#111} 
#menu input{display:none;margin:0 0;padding:0 0;width:80px;height:35px;opacity:0;cursor:pointer} 
#menu label{font:bold 30px Arial;display:none;width:35px;height:36px;line-height:36px;text-align:center} 
#menu label span{font-size:12px;position:absolute;left:35px} 
#menu ul.menus{height:auto;overflow:hidden;width:180px;background:#111;position:absolute;z-index:99;display:none;border:0;} 
#menu ul.menus li{display:block;width:100%;font:12px Arial;text-transform:none;} 
#menu li:hover ul.menus{display:block} 
#menu a.home {background: #c00;} 
#menu a.prett{padding:0 27px 0 14px} 
#menu a.prett::after{content:"";width:0;height:0;border-width:6px 5px;border-style:solid;border-color:#eee transparent transparent transparent;position:absolute;top:15px;right:9px} 
#menu ul.menus a:hover{background:#333;} 

おかげで、このサイトは本当に私をとても

+0

あなたは私たちが見ることができますCodePenにコードを貼り付けるか何かでしたそれ?あなたはかなりたくさんのコードを見てほしいと思っていますが、CSSでどんなに優れていても、Webブラウザでレンダリングするまでどのように出るのか分かりません。 – RobertAKARobin

+0

あなたはそれを自分で検索する必要があり、ここを参照してくださいhttps://codepen.io/philhoyt/pen/ujHzd –

+0

申し訳ありませんイム初心者をここ http://codepen.io/aziu/pen/NAOawJ これ、助けてください私... おかげ – aziu

答えて

2

を助ける私がどのような非常にわからないんだけどあなたは期待していますが、これを行う1つの方法は、サブメニューliにクラスを追加し、それがホバリングした後、サブメニューを表示します。このように:

#menu { 
 
    background: #343434; 
 
    color: #eee; 
 
    height: 35px; 
 
    border-bottom: 4px solid #eeeded 
 
} 
 

 
#menu ul, 
 
#menu li { 
 
    margin: 0 0; 
 
    padding: 0 0; 
 
    list-style: none 
 
} 
 

 
#menu ul { 
 
    height: 35px 
 
} 
 

 
#menu li { 
 
    float: left; 
 
    display: inline; 
 
    position: relative; 
 
    font: bold 12px Arial; 
 
    text-shadow: 0 -1px 0 #000; 
 
    border-right: 1px solid #444; 
 
    border-left: 1px solid #111; 
 
    text-transform: uppercase 
 
} 
 

 
#menu li:first-child { 
 
    border-left: none 
 
} 
 

 
#menu a { 
 
    display: block; 
 
    line-height: 35px; 
 
    padding: 0 14px; 
 
    text-decoration: none; 
 
    color: #eee; 
 
} 
 

 
#menu li:hover > a, 
 
#menu li a:hover { 
 
    background: #111 
 
} 
 

 
#menu input { 
 
    display: none; 
 
    margin: 0 0; 
 
    padding: 0 0; 
 
    width: 80px; 
 
    height: 35px; 
 
    opacity: 0; 
 
    cursor: pointer 
 
} 
 

 
#menu label { 
 
    font: bold 30px Arial; 
 
    display: none; 
 
    width: 35px; 
 
    height: 36px; 
 
    line-height: 36px; 
 
    text-align: center 
 
} 
 

 
#menu label span { 
 
    font-size: 12px; 
 
    position: absolute; 
 
    left: 35px 
 
} 
 

 
#menu ul.menus { 
 
    height: auto; 
 
    width: 180px; 
 
    background: #111; 
 
    position: absolute; 
 
    z-index: 99; 
 
    display: none; 
 
    border: 0; 
 
} 
 

 
#menu ul.menus li { 
 
    display: block; 
 
    width: 100%; 
 
    font: 12px Arial; 
 
    text-transform: none; 
 
} 
 

 
#menu li:hover ul.menus { 
 
    display: block 
 
} 
 

 
#menu a.home { 
 
    background: #c00; 
 
} 
 

 
#menu a.prett { 
 
    padding: 0 27px 0 14px 
 
} 
 

 
#menu a.prett::after { 
 
    content: ""; 
 
    width: 0; 
 
    height: 0; 
 
    border-width: 6px 5px; 
 
    border-style: solid; 
 
    border-color: #eee transparent transparent transparent; 
 
    position: absolute; 
 
    top: 15px; 
 
    right: 9px 
 
} 
 

 
#menu ul.menus a:hover { 
 
    background: #333; 
 
} 
 

 
#menu ul.menus .submenu { 
 
    display: none; 
 
    position: absolute; 
 
    left: 180px; 
 
    background: #111; 
 
    top: 0; 
 
    width: 180px; 
 
} 
 

 
#menu ul.menus .submenu li { 
 
    background: #111; 
 
} 
 

 
#menu ul.menus .has-submenu:hover .submenu { 
 
    display: block; 
 
}
<nav> 
 
    <ul id='menu'> 
 
    <li><a class='home' href='/'>Home</a></li> 
 
    <li><a class='prett' href='#' title='Menu'>Menu</a> 
 
     <ul class='menus'> 
 
     <li class='has-submenu'><a class='prett' href='Dropdown 1' title='Dropdown 1'>Dropdown 1 + Sub Menu</a> 
 
      <ul class='submenu'> 
 
      <li><a href="#" title="Sub Menu">Sub Menu</a></li> 
 
      <li><a href="#" title="Sub Menu">Sub Menu 2</a></li> 
 
      <li><a href="#" title="Sub Menu">Sub Menu 3</a></li> 
 
      </ul> 
 
     </li> 
 
     <li><a href='#' title='Dropdown 2'>Dropdown 2</a></li> 
 
     <li><a href='#' title='Dropdown 3'>Dropdown 3</a></li> 
 
     </ul> 
 
    </li> 
 
    </ul> 
 
</nav>

EDIT:

JavaScriptを使用して

とクリックして開きます:https://jsfiddle.net/thepio/pn0ym10e/2/

+0

ザッツヘルプしかし、私は横パス上のサブメニューが欲しい... – aziu

+0

感謝を支援するための おかげで、あなたはマスターです:D 開いていないクリックしない場合はオープン をクリックした場合は、コマンドを作ることができますタンクはとてもMuc​​hhhh !!! – aziu

+0

しかし、私はもっと追加するときサブ私はかつて私の答えを更新し https://2.bp.blogspot.com/-X7HqK7CVCqM/V6Q6LPQBSNI/AAAAAAAAAAo/VHj8NsHHKtg4CM3F2RiWW8gJYbBnga9MwCLcB/s320/HTML%2BCSS%2BDrop%2BDown.jpg – aziu

関連する問題