2015-01-13 5 views
0

Итак, я пытаюсь создать боковую панель с подменю выпадающего списка, и прошло три дня, и я все еще не могу сказать, что создает неисправность в моем подменю выпадающего списка. Может ли кто-нибудь быть таким добрым, чтобы исправить мой код? (Извините, это путаница. Мой мозг в настоящий момент похож на этот атм.)Выпадающее подменю в боковой панели не падает

Проблема в том, что я хочу создать выпадающее подменю на боковой панели, но подменю выпадающего меню не будет отбрасываться. Вместо выпадающего списка он просто выдает список. См. this fiddle, или снизу вниз.

#wrapper { 
 
    padding-left: 0; 
 
    -webkit-transition: all 0.5s ease; 
 
    -moz-transition: all 0.5s ease; 
 
    -o-transition: all 0.5s ease; 
 
    transition: all 0.5s ease; 
 
} 
 

 
#wrapper.toggled { 
 
    padding-left: 250px; 
 
} 
 

 
#sidebar-wrapper { 
 
    z-index: 1000; 
 
    position: fixed; 
 
    left: 250px; 
 
    width: 0; 
 
    height: 100%; 
 
    margin-left: -250px; 
 
    overflow-y: auto; 
 
    overflow-x:hidden; 
 
    background: #000; 
 
    -webkit-transition: all 0.5s ease; 
 
    -moz-transition: all 0.5s ease; 
 
    -o-transition: all 0.5s ease; 
 
    transition: all 0.5s ease; 
 
} 
 

 
#wrapper.toggled #sidebar-wrapper { 
 
    width: 250px; 
 
} 
 

 
#page-content-wrapper { 
 
    width: 100%; 
 
    padding: 15px; 
 
} 
 

 
#wrapper.toggled #page-content-wrapper { 
 
    position: absolute; 
 
    margin-right: -250px; 
 
} 
 

 
/* Sidebar Styles */ 
 

 
.sidebar-nav { 
 
    position: absolute; 
 
    top: 0; 
 
    width: 250px; 
 
    margin: 0; 
 
    padding: 0; 
 
    list-style: none; 
 
} 
 

 
.sidebar-nav li { 
 
    text-indent: 20px; 
 
    line-height: 40px; 
 
} 
 

 
.sidebar-nav li a { 
 
    display: block; 
 
    text-decoration: none; 
 
    color: #999999; 
 
} 
 

 
.sidebar-nav li a:hover { 
 
    text-decoration: none; 
 
    color: #fff; 
 
    background: rgba(255,255,255,0.2); 
 
} 
 

 
.sidebar-nav li a:active, 
 
.sidebar-nav li a:focus { 
 
    text-decoration: none; 
 
} 
 

 
.sidebar-nav > .sidebar-brand { 
 
    height: 65px; 
 
    font-size: 18px; 
 
    line-height: 60px; 
 
} 
 

 
.sidebar-nav > .sidebar-brand a { 
 
    color: #999999; 
 
} 
 

 
.sidebar-nav > .sidebar-brand a:hover { 
 
    color: #fff; 
 
    background: none; 
 
} 
 

 
#cssmenu, 
 
#cssmenu ul, 
 
#cssmenu ul li, 
 
#cssmenu ul li a { 
 
    margin: 0; 
 
    padding: 0; 
 
    border: 0; 
 
    list-style: none; 
 
    line-height: 1; 
 
    display: block; 
 
    position: relative; 
 
    -webkit-box-sizing: border-box; 
 
    -moz-box-sizing: border-box; 
 
    box-sizing: border-box; 
 
} 
 
#cssmenu { 
 
    width: 200px; 
 
    font-family: Helvetica, Arial, sans-serif; 
 
    color: #ffffff; 
 
} 
 
#cssmenu ul ul { 
 
    display: none; 
 
} 
 
.align-right { 
 
    float: right; 
 
} 
 
#cssmenu > ul > li > a { 
 
    padding: 15px 20px; 
 
    border-left: 1px solid #49505a; 
 
    border-right: 1px solid #49505a; 
 
    border-top: 1px solid #49505a; 
 
    cursor: pointer; 
 
    z-index: 2; 
 
    font-size: 14px; 
 
    font-weight: bold; 
 
    text-decoration: none; 
 
    color: #ffffff; 
 
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.35); 
 
    background: #49505a; 
 
    background: -webkit-linear-gradient(#49505a, #32373e); 
 
    background: -moz-linear-gradient(#49505a, #32373e); 
 
    background: -o-linear-gradient(#49505a, #32373e); 
 
    background: -ms-linear-gradient(#49505a, #32373e); 
 
    background: linear-gradient(#49505a, #32373e); 
 
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15); 
 
} 
 
#cssmenu > ul > li > a:hover, 
 
#cssmenu > ul > li.active > a, 
 
#cssmenu > ul > li.open > a { 
 
    color: #49505a; 
 
    background: #424852; 
 
    background: -webkit-linear-gradient(#32373e, #1992d1); 
 
    background: -moz-linear-gradient(#32373e, #1992d1); 
 
    background: -o-linear-gradient(#32373e, #1992d1); 
 
    background: -ms-linear-gradient(#32373e, #1992d1); 
 
    background: linear-gradient(#32373e, #1992d1); 
 
} 
 
#cssmenu > ul > li.open > a { 
 
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.15); 
 
    border-bottom: 1px solid #49505a; 
 
} 
 
#cssmenu > ul > li:last-child > a, 
 
#cssmenu > ul > li.last > a { 
 
    border-bottom: 1px solid #49505a; 
 
} 
 
.holder { 
 
    width: 0; 
 
    height: 0; 
 
    position: absolute; 
 
    top: 0; 
 
    right: 0; 
 
} 
 
.holder::after, 
 
.holder::before { 
 
    display: block; 
 
    position: absolute; 
 
    content: ""; 
 
    width: 6px; 
 
    height: 6px; 
 
    right: 20px; 
 
    z-index: 10; 
 
    -webkit-transform: rotate(-135deg); 
 
    -moz-transform: rotate(-135deg); 
 
    -ms-transform: rotate(-135deg); 
 
    -o-transform: rotate(-135deg); 
 
    transform: rotate(-135deg); 
 
} 
 
.holder::after { 
 
    top: 17px; 
 
    border-top: 2px solid #ffffff; 
 
    border-left: 2px solid #ffffff; 
 
} 
 
#cssmenu > ul > li > a:hover > span::after, 
 
#cssmenu > ul > li.active > a > span::after, 
 
#cssmenu > ul > li.open > a > span::after { 
 
    border-color: #eeeeee; 
 
} 
 
.holder::before { 
 
    top: 18px; 
 
    border-top: 2px solid; 
 
    border-left: 2px solid; 
 
    border-top-color: inherit; 
 
    border-left-color: inherit; 
 
} 
 
#cssmenu ul ul li a { 
 
    cursor: pointer; 
 
    border-bottom: 1px solid #32373e; 
 
    border-left: 1px solid #32373e; 
 
    border-right: 1px solid #32373e; 
 
    padding: 10px 20px; 
 
    z-index: 1; 
 
    text-decoration: none; 
 
    font-size: 13px; 
 
    color: #eeeeee; 
 
    background: #49505a; 
 
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); 
 
} 
 
#cssmenu ul ul li:hover > a, 
 
#cssmenu ul ul li.open > a, 
 
#cssmenu ul ul li.active > a { 
 
    background: #424852; 
 
    color: #ffffff; 
 
} 
 
#cssmenu ul ul li:first-child > a { 
 
    box-shadow: none; 
 
} 
 
#cssmenu ul ul ul li:first-child > a { 
 
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); 
 
} 
 
#cssmenu ul ul ul li a { 
 
    padding-left: 30px; 
 
} 
 
#cssmenu > ul > li > ul > li:last-child > a, 
 
#cssmenu > ul > li > ul > li.last > a { 
 
    border-bottom: 0; 
 
} 
 
#cssmenu > ul > li > ul > li.open:last-child > a, 
 
#cssmenu > ul > li > ul > li.last.open > a { 
 
    border-bottom: 1px solid #32373e; 
 
} 
 
#cssmenu > ul > li > ul > li.open:last-child > ul > li:last-child > a { 
 
    border-bottom: 0; 
 
} 
 
#wrapper > #sidebar-wrapper > .sidebar-nav > b#cssmenu ul ul li.has-sub > a::after { 
 
    display: block; 
 
    position: absolute; 
 
    content: ""; 
 
    width: 5px; 
 
    height: 5px; 
 
    right: 20px; 
 
    z-index: 10; 
 
    top: 11.5px; 
 
    border-top: 2px solid #eeeeee; 
 
    border-left: 2px solid #eeeeee; 
 
    -webkit-transform: rotate(-135deg); 
 
    -moz-transform: rotate(-135deg); 
 
    -ms-transform: rotate(-135deg); 
 
    -o-transform: rotate(-135deg); 
 
    transform: rotate(-135deg); 
 
} 
 
#cssmenu ul ul li.active > a::after, 
 
#cssmenu ul ul li.open > a::after, 
 
#cssmenu ul ul li > a:hover::after { 
 
    border-color: #ffffff; 
 
} 
 

 

 
@media(min-width:768px) { 
 
    #wrapper { 
 
     padding-left: 186px; 
 
    } 
 

 
    #wrapper.toggled { 
 
     padding-left: 0; 
 
    } 
 

 
    #sidebar-wrapper { 
 
     width: 161px; 
 
    } 
 

 
    #wrapper.toggled #sidebar-wrapper { 
 
     width: 0; 
 
    } 
 

 
    #page-content-wrapper { 
 
     padding: 20px; 
 
    } 
 

 
    #wrapper.toggled #page-content-wrapper { 
 
     position: relative; 
 
     margin-right: 0; 
 
    } 
 
}
<body> 
 
    <div id="wrapper"> 
 
     <!-- Sidebar --> 
 
     <div id="sidebar-wrapper"> 
 
      <ul class="sidebar-nav"> 
 
       <li class="sidebar-brand"><a href="#">Lyfe Craft</a></li> 
 
       <li><a href="#">Intro</a></li> 
 
      <div id='cssmenu'> 
 
       <ul> 
 
        <li class='active has-sub'><a href='#'><span>Gliders</span></a> 
 
         <ul> 
 
         <li class='has-sub'><a href='#'><span>Glider 1</span></a></li> 
 
         <li class='has-sub'><a href='#'><span>Glider 2</span></a></li> 
 
         <li class='has-sub'><a href='#'><span>Glider 3</span></a></li> 
 
         <li class='has-sub'><a href='#'><span>Glider 4</span></a></li> 
 
         <li class='has-sub'><a href='#'><span>Glider 5</span></a></li> 
 
         <li class='has-sub'><a href='#'><span>Glider 6</span></a></li> 
 
          
 
         </ul> 
 
        </li> 
 
        <li class='active has-sub'><a href='#'><span>Cycles</span></a> 
 
         <ul> 
 
         <li class='has-sub'><a href='#'><span>Cycle 1 (12)</span></a></li> 
 
         <li class='has-sub'><a href='#'><span>Cycle 2 (12)</span></a></li> 
 
         <li class='has-sub'><a href='#'><span>Cycle 3 (24)</span></a></li> 
 
         <li class='has-sub'><a href='#'><span>Cycle 4 (36)</span></a></li> 
 
         <li class='has-sub'><a href='#'><span>Cycle 5 (42)</span></a></li> 
 
         <li class='has-sub'><a href='#'><span>Cycle 6 (60)</span></a></li> 
 
         <li class='has-sub'><a href='#'><span>Cycle 7 (84)</span></a></li> 
 
         <li class='has-sub'><a href='#'><span>Cycle 8 (144)</span></a></li> 
 
         <li class='has-sub'><a href='#'><span>Cycle 9 (582)</span></a></li> 
 
         <li class='has-sub'><a href='#'><span>Cycle 10 (3966)</span></a></li> 
 
         
 
         </ul> 
 
        </li> 
 
       </ul> 
 
      </div> 
 
       <li><a href="#">Boomerang</a></li> 
 
       <li><a href="#">Deflect (Routing)</a></li> 
 
       <li><a href="#">Logic (Interaction Gate)</a></li> 
 
       <li><a href="#">Move</a></li> 
 
       <li><a href="#">Fast and Slow</a></li> 
 
       <li><a href="#">Capture and Emit</a></li> 
 
       <li><a href="#">Delayed Release</a></li> 
 
       <li><a href="#">Attraction</a></li> 
 
       <li><a href="#">Order Out of Chaos</a></li> 
 
       <li><a href="#">Structure and Decay</a></li> 
 
       <li><a href="#">Big Bang (Entropy)</a></li> 
 
       <li><a href="#">Strung Out</a></li> 
 
       <li><a href="#">Octave</a></li> 
 
       <li><a href="#">Harmonic Chaos</a></li> 
 
      </ul> 
 
    </div> 
 
     <!-- /#sidebar-wrapper --> 
 

 
     <!-- Page Content --> 
 
     <div id="page-content-wrapper"> 
 
      <div class="container-fluid"> 
 
       <div class="row"> 
 
        <div class="col-lg-12"> 
 
        <div class="topbar"> 
 
         <div id="topbarcontent"> 
 
          <!-- </p><button class="bannerButtons" onclick="toggleRunning()">RUN/STOP</button> 
 
         <button class="bannerButtons" onclick="fastSlow()">FAST/SLOW</button> 
 
         <button class="bannerButtons" onclick="isRunning = true; mainLoop(); isRunning = false;">STEP</button> 
 
         <button class="bannerButtons" onclick="reverseDirection()">DIRECTION</button> 
 
         <button class="bannerButtons" onclick="randomCells(12, -2, 1)">RANDOM</button> 
 
         <button class="bannerButtons" onclick="playStopMusic()">MUSIC</button> 
 
         <button class="bannerButtons" onclick="toggleTrails()">TRAILS</button> 
 
         <button class="bannerButtons" onclick="clearGrid()">CLEAR</button> 
 
         <button class="bannerButtons" onclick="update()">UPDATE</button> --> 
 
         <button class="btn btn-inverse active"><i class="icon-music icon-white"></i> Run/Stop</button> 
 
         <button class="btn btn-inverse active"><i class="icon-music icon-white"></i> Fast/Slow</button> 
 
         <button class="btn btn-inverse active"><i class="icon-music icon-white"></i> Step</button> 
 
         <button class="btn btn-inverse active"><i class="icon-music icon-white"></i> Direction </button> 
 
         <button class="btn btn-inverse active"><i class="icon-music icon-white"></i> Random</button> 
 
         <button class="btn btn-inverse active"><i class="icon-music icon-white"></i> Music</button> 
 
         <button class="btn btn-inverse active"><i class="icon-music icon-white"></i> Trials</button> 
 
         <button class="btn btn-inverse active"><i class="icon-music icon-white"></i>Clear</button> 
 
         <button class="btn btn-inverse active"><i class="icon-music icon-white"></i> Update</button> 
 

 
         <div id="banner"> 
 
      <!-- <span style="background-color: #fff; opacity:0.5; border-bottom: 1px solid #ddd; padding: 8px 10px; font-size:medium"> --> 
 
        <b>click & drag to rotate view | scroll to zoom | arrows move cursor; U & D for up/down | ENTER to create/delete | S to step</b> 
 
       </span> 
 
       
 
       <a href="faq.html" target="_blank" style="font-size:larger">faq</a> 
 
       
 
       <a href="https://github.com/danx0r/BusyBoxes" target="_blank" style="font-size:larger">source</a> 
 

 
      </div> 
 
     </div> 
 

 
         </div> 
 
        </div> 
 
      
 
         <!-- <h1>Simple Sidebar</h1> 
 
         <p>This template has a responsive menu toggling system. The menu will appear collapsed on smaller screens, and will appear non-collapsed on larger screens. When toggled using the button below, the menu will appear/disappear. On small screens, the page content will be pushed off canvas.</p> 
 
         <p>Make sure to keep all page content within the <code>#page-content-wrapper</code>.</p> --> 
 
         <a href="#menu-toggle" class="slider btn btn-default" id="menu-toggle">Toggle Menu</a> 
 
        
 
        </div> 
 
       </div> 
 
      </div> 
 
     </div> 
 
     <!-- /#page-content-wrapper --> 
 
    </div> 
 
    <!-- /#wrapper --> 
 

 
    <!-- jQuery --> 
 
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script> 
 

 
    <!-- Bootstrap Core JavaScript --> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
    <!-- Menu Toggle Script --> 
 
    <script> 
 
    $("#menu-toggle").click(function(e) { 
 
     e.preventDefault(); 
 
     $("#wrapper").toggleClass("toggled"); 
 
    }); 
 
    </script> 
 

 

 

 

 
</body> 
 

 
</html>

+2

Где именно проблема? Скрипка может нам помочь. –

+0

Я честно не знаю @Cimbali. Вот почему я обращаюсь ко всем, кто может сказать мне, что я делаю неправильно. -_- –

+0

Можете ли вы добавить соответствующую разметку, пожалуйста. Fiddle или Codepen были бы идеальными – robjez

ответ

0

Вы можете создать меню с помощью <ul> <li>. Создайте раскрывающееся меню внутри <li> и скройте. Показывать выпадающий список при наведении родительского меню. Найти example НИЖЕ

HTML

<div class="wrapper"> 
    <aside> 
     <ul class="sidemenu"> 
      <li><a href="#">Menu 1</a></li> 
      <li> 
       <a href="#">Menu 2</a> 
       <ul> 
        <li><a href="#">Subenu 1</a> 
         <ul> 
         <li><a href="#">Subenu 1</a></li> 
         <li><a href="#">Subenu 2</a></li> 
         </ul> 
        </li> 
        <li><a href="#">Subenu 2</a></li> 
       </ul> 
      </li> 
      <li><a href="#">Menu 3</a></li> 
      <li><a href="#">Menu 4</a></li> 
     </ul> 
    </aside> 
    <div class="content"> 
     Main content   
    </div>  
<div> 

CSS

*{ 
font-family: arial; 
font-size: 12px;  
} 
.wrapper{ 
    overflow: hidden; 
    background: #eee; 
} 
aside{ 
    float: left; 
    width: 30%; 
    background: #ddd; 
} 
.content{ 
    float:left; 
    width: 70%; 
} 
ul.sidemenu{ 
    padding:0; 
    margin:0; 
} 
.sidemenu li{ 
    list-style:none; 
} 
.sidemenu li a{ 
    padding: 10px; 
    display:block; 
    color:#000; 
    border-bottom: 1px solid #fff; 
} 
.sidemenu li li a{ 
    background: #999; 
} 
.sidemenu li ul{ 
    display:none; 
} 
.sidemenu li:hover >ul{ 
    display:block; 
} 

JSFIDDLE DEMO

+0

ОК. Спасибо @shanidkv. Очень ценю этот совет. –

1

Я сделал некоторые изменения в нижней части КАС,:
(я не хочу, чтобы переписать все CSS, так как это довольно много вещей там)

/* New Edits */ 
#cssmenu { 
    display: none; 
} 
ul > li:hover > #cssmenu { 
    display: block; 
} 
#cssmenu > ul > .has-sub:hover > ul { 
    display: block; 
} 

, но я действительно думаю, что вы должны начать с самого начала, возможно, пройти через некоторые учебник. У вас были некоторые проблемы в вашей разметке (мне нужно было обернуть весь элемент #cssmenu в элементе списка, чтобы он работал), поэтому после некоторых настроек он работает сейчас, а вот скрипка - http://jsfiddle.net/ym12ddjh/2/

Надеюсь, это облегчит вашу боль в течение 3 дней :)

+0

ты мой герой! Спасибо!!!! Теперь я могу наконец спать. :) –

+0

Не беспокойтесь, если вы сочтете это полезным, вы всегда можете отметить этот ответ как принято;) – robjez

Смежные вопросы