Bootstrap CSS:修复了左侧栏

时间:2014-06-01 09:27:24

标签: html css twitter-bootstrap

我正在开发一个基于Bootstrap css的网页,我希望它与Bootstrap Dashboard示例类似。 我遇到的问题是左侧固定侧边栏右侧的部分水平滚动,而我希望它固定(虽然流畅)。 这是重现问题的jsfiddle页面

http://jsfiddle.net/K7m5F/embedded/result/

这是html

<div class="container-fluid">
    <div class="row-fluid">
        <div class="col-sm-3 col-md-2 sidebar">
            <ul class="nav nav-sidebar">
                <li><a href="#" class="Active">ChoiceA</a>

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

                </li>
            </ul>
        </div>
        <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main" style="height: 100%; width: 100%;">
            <div class="row">This is a test</div>

这是css

@import url("//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css");
 body {
    padding-top: 50px;
}
.sub-header {
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
}
.sidebar {
    display: none;
}
@media (min-width : 768px) {
    .sidebar {
        position: fixed;
        top: 51px;
        bottom: 0;
        left: 0;
        z-index: 1000;
        display: block;
        padding: 20px;
        overflow-x: hidden;
        overflow-y: auto;
        /* Scrollable contents if viewport is shorter than content. */
        background-color: #f5f5f5;
        border-right: 1px solid #eee;
    }
}
/* Sidebar navigation */
 .nav-sidebar {
    margin-right: -21px;
    /* 20px padding + 1px border */
    margin-bottom: 20px;
    margin-left: -20px;
}
.nav-sidebar>li>a {
    padding-right: 20px;
    padding-left: 20px;
}
.nav-sidebar>.active>a {
    color: #fff;
    background-color: #428bca;
}
/*
 * Main content
 */
 .main {
    padding: 20px;
}
@media (min-width : 768px) {
    .main {
        padding-right: 40px;
        padding-left: 40px;
    }
}
.main .page-header {
    margin-top: 0;
}
/*
 * Placeholder dashboard ideas
 */
 .placeholders {
    margin-bottom: 30px;
    text-align: center;
}
.placeholders h4 {
    margin-bottom: 0;
}
.placeholder {
    margin-bottom: 20px;
}
.placeholder img {
    display: inline-block;
    border-radius: 50%;
}
.controls {
    margin-top: 16px;
    border: 1px solid transparent;
    border-radius: 2px 0 0 2px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    height: 32px;
    outline: none;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

2 个答案:

答案 0 :(得分:1)

使用class =“main”从div中删除硬编码宽度。它表示100%,因为它会覆盖由bootstrap的col-md-9设置的宽度,页面上会出现水平滚动条。希望这就是你所要求的。

答案 1 :(得分:1)

它水平滚动的原因是因为即使您指定了网格类(col-md-10),内联样式[{1}}优先于width: 100%,其宽度为col-md-10 }。

这是一个不会发生滚动的演示:

<强> DEMO