我的代码中有一个侧边栏,我是从here获得的。当页面内容太长时,正文将滚动但侧边栏不会滚动。
这就是我希望我的工作方式,但因为我有一个标题,我看到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
)并保持侧边栏的高度与内容相匹配,我认为可行。
感谢任何建议!
答案 0 :(得分: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/
但是当你在一个小屏幕上时,很少有问题需要修改...菜单样式似乎改变了(白色背景而不是黑色)以及其他一些问题......
这完全是关于css“位置”和大小......但是我认为这是一个很好的起点。