2015-02-24 2 views
0

У меня есть боковая панель в моем коде, которую я получил от here. Когда содержимое страницы слишком длинное, тело будет прокручиваться, но на боковой панели нет.Остановить боковую панель от прокрутки по оси y

Example fiddle

Это, как я хотел бы мое работать, а потому, что у меня есть заголовок, я получаю этот неприятный эффект видел here.

HTML:

<title>Simple Sidebar - Start Bootstrap Template</title> 
<body> 
    <!--Header--> 
    <div id="header-content-wrapper" class="as-header-wrapper"> 
     <div class="container-fluid"> 
      <div id="header" class="row"> 
       <div class="col-md-7 panel"> 
        <span>This is heading text!!!</span> 
       </div> 
      </div> 
     </div> 
    </div> 
    <div id="wrapper" class=""> 
     <!-- Sidebar --> 
     <div id="sidebar-wrapper"> 
      <ul class="sidebar-nav"> 
       <li class="sidebar-brand"> <a href="#"> 
         Start Bootstrap 
        </a> 

       </li> 
       <li> <a href="#">Dashboard</a> 

       </li> 
       <li> <a href="#">Shortcuts</a> 

       </li> 
       <li> <a href="#">Overview</a> 

       </li> 
       <li> <a href="#">Events</a> 

       </li> 
       <li> <a href="#">About</a> 

       </li> 
       <li> <a href="#">Services</a> 

       </li> 
       <li> <a href="#">Contact</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"> 
         <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="btn btn-default" id="menu-toggle">Toggle Menu</a> 

         <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> 
         Hellow 
        </div> 
       </div> 
      </div> 
     </div> 
     <!-- /#page-content-wrapper --> 
    </div> 
    <!-- /#wrapper --> 
    <!-- jQuery --> 
    <script src="js/jquery.js"></script> 
    <!-- Bootstrap Core JavaScript --> 
    <script src="js/bootstrap.min.js"></script> 
    <!-- Menu Toggle Script --> 
    <script> 
     $("#menu-toggle").click(function(e) { 
      e.preventDefault(); 
      $("#wrapper").toggleClass("toggled"); 
     }); 
    </script> 
</body> 
</html> 

CSS:

.as-header-wrapper{ 
    overflow-x: hidden; 
} 
/*! 
* Start Bootstrap - Simple Sidebar HTML Template (http://startbootstrap.com) 
* Code licensed under the Apache License v2.0. 
* For details, see http://www.apache.org/licenses/LICENSE-2.0. 
*/ 

/* Toggle Styles */ 
#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; 
    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%; 
    position: absolute; 
    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; 
} 
@media(min-width:768px) { 
    #wrapper { 
     padding-left: 250px; 
    } 
    #wrapper.toggled { 
     padding-left: 0; 
    } 
    #sidebar-wrapper { 
     width: 250px; 
    } 
    #wrapper.toggled #sidebar-wrapper { 
     width: 0; 
    } 
    #page-content-wrapper { 
     padding: 20px; 
     position: relative; 
    } 
    #wrapper.toggled #page-content-wrapper { 
     position: relative; 
     margin-right: 0; 
    } 
} 

Если бы я мог держать боковую панель с прокруткой содержимого (например, установив position: absolute; в sidebar-wrapper) и сохранить высоту боковой панели Сопрягать содержание, я думаю, будет работать нормально.

Любые советы приветствуются!

ответ

1

Нуждается некоторые исправления в CSS лист ...

#wrapper { 
    padding-left: 0; 
    overflow-y:none; //THIS -> ADD 
    -webkit-transition: all 0.5s ease; 
    -moz-transition: all 0.5s ease; 
    -o-transition: all 0.5s ease; 
    transition: all 0.5s ease; 
    max-width:100%; //THIS -> ADD 
} 
#wrapper.toggled #page-content-wrapper { 
    position: absolute; 
    margin-right:-250px; //THIS -> REMOVE 
} 

EDIT:

После нескольких тестов, вот что вы пытаетесь сделать: http://jsfiddle.net/DTcHh/4759/

Но есть несколько проблем, в исправить стиль, когда вы находитесь на маленьком экране ... стиль меню, кажется, меняется (на белый фон вместо черного) и некоторые другие проблемы ...

Это все о css «position» и размерах ... но вот хорошая отправная точка, я думаю.

+0

Спасибо за ответ. Я боюсь, что это не совсем то, что я ищу, я бы хотел остановить навигационную панель от прокрутки, см. [Это] (http://jsfiddle.net/DTcHh/4717/) – TomSelleck

+0

Я просто не знаю, t понять, что не так ... даже с вашей ссылкой ... navbar (слева) не прокручивает ^^ PLS дать более подробную информацию ... – Julo0sS

+0

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

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