我正在尝试使用Twitter Bootstrap构建模板。 Here是实例。我遇到的问题是我可以在dashboard
菜单旁边定位sidebar
div,我不知道我的错误在哪里?我能从专家那里得到任何帮助吗?这是HTML:
<div class="container">
<div class="row">
<div class="col-sm-3 col-md-2 sidebar">
Menu
</div>
<div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
dashboard
</div>
</div>
</div>
这就是风格:
.sidebar {
display: none;
}
@media (min-width: 768px) {
.sidebar {
z-index: 1000;
display: block;
overflow-x: hidden;
overflow-y: auto;
background-color: #f5f5f5;
border-right: 1px solid #eee;
}
}
.nav-sidebar {
margin-right: -21px;
margin-bottom: 20px;
margin-left: -20px;
}
.nav-sidebar > li > a {
padding-right: 20px;
padding-left: 20px;
}
.nav-sidebar > .active > a,
.nav-sidebar > .active > a:hover,
.nav-sidebar > .active > a:focus {
color: #fff;
background-color: #428bca;
}
.main {
padding: 20px;
}
@media (min-width: 768px) {
.main {
padding-right: 40px;
padding-left: 40px;
}
}
.main .page-header {
margin-top: 0;
}
答案 0 :(得分:1)
基本上你是在偏移你的列以超越Bootstrap提供的实际网格(普通网格只有12列,但你最多延伸到15个偏移)。基本上,只要注意超出正常的列边界并且不使用全部填充,它就会移动一列而不是另一列。
从代码中取出以下代码以重新对齐:
<强> CSS:强>
.main {
/* padding: 20px; */
}
然后将HTML重新排列为以下内容:
<强> HTML:强>
<div class="container">
<div class="row">
<div class="col-sm-3 col-md-2 sidebar">
Menu
</div>
<div class="col-sm-9 col-md-10 main">
dashboard
</div>
</div>
</div>
<强> DEMO JSFiddle 强>
<强>参考文献:强>
我相信你以前见过这个,但再次忽视它永远不会伤害。 Bootstrap提供了一个如何使用其网格系统here的绝佳示例。