2015-02-24 113 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; 
    } 
} 

如果我可以从与内容滚动(如设置在sidebar-wrapperposition: absolute;)保持侧边栏和保持匹配的侧边栏的高度内容,我认为会工作正常。

任何意见是赞赏!

回答

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 
} 

编辑:

几次测试之后,这里是你试图做什么:http://jsfiddle.net/DTcHh/4759/

但也有一些问题当你在一个小屏幕上修改样式...菜单样式似乎改变(以白色背景而不是黑色)和一些其他问题...

This是关于css的“位置”和大小......但这是我认为的一个很好的起点。

+0

感谢您的回复。恐怕这不是我正在寻找的,我想停止滚动的导航栏,请参阅[this](http://jsfiddle.net/DTcHh/4717/) – TomSelleck 2015-02-24 12:37:35

+0

我只是不'不明白有什么问题......即使是你的链接...导航栏(左)不滚动^^请提供更多详细信息... – Julo0sS 2015-02-24 13:58:39

+0

你想让你的边栏保持在包装的左上角?当你向下滚动时,你想让你的导航栏熬夜? (所以当你进入页面底部时它不会被看到?) – Julo0sS 2015-02-24 14:00:32