1

我知道这里的问题涵盖了我的部分问题,但我无法将它们放在一起以使我的布局正常工作。

所以基本上我想要一个带有固定侧边栏和动态内容的两列布局来填充剩余空间。

HTML:

<body>
    <div id="navbar">
        <ul>
            <li>Nav 1</li>
            <li>Nav 2</li>
            <li>Nav 3</li>
        </ul>
    </div>

    <div id="content">
    </div>
</body>

CSS:

html, body {
    height:100%;
    margin: 0;
    padding: 0;
    border: 0;
}

#content {
    height:100%;
    float:left;
    /*margin: 0 0 0 200px;*/
}

#navbar{
    height:100%;
    width:200px;
    float:left;
}

使用这个 CSS,我的问题是我的内容没有占用剩余的空间,如果我删除浮动,我会得到一个垂直滚动条,因为顶部有一个边距!

有什么建议我可以在没有滚动条的情况下实现 100% 高度(没有隐藏溢出,因为这不会删除顶部的边距)和动态内容宽度?

提前致谢

编辑:

具有讽刺意味的是,它适用于jsfiddle

4

3 回答 3

4

http://jsfiddle.net/gXubX/2/

.container { 
    width: 100%;
    background: fuchsia;
}

.left {
    width: 200px;
    float: left;
    background: purple;
    min-height: 300px;
}

并且一个 clearfix 应用于容器。

于 2013-09-05T12:29:32.893 回答
2

这是一个为内容和导航栏提供 100% 高度的解决方案:

小提琴:http: //jsfiddle.net/92c6M/

HTML

<div id="navbar">
    <ul>
        <li>Nav 1</li>
        <li>Nav 2</li>
        <li>Nav 3</li>
    </ul>
</div>

<div id="content">
</div>

CSS

html, body {
    height:100%;
    margin: 0;
    padding: 0;
    border: 0;
}

#content {
    height:100%;
    width: calc(100% - 200px);
    display: inline-block;
    background-color: #DDF;
}

#navbar{
    height:100%;
    width:200px;
    float: left;
    background-color: #CEC;
}
于 2013-09-05T13:23:06.210 回答
1

CSS:

  #wrapper {
 width: 100%;
 float: left;
 positon: relative;
 }

 #navbar {
 width: 200px;
 float: left;
 top: 0px;
 left: 0px;
 position: absolute;
    height: 300px;
background-color: red;
z-index: 2;
 }

  #content-wrapper {
 position: absolute;
 top: 0px;
 left: 0px;
 width: 100%;
 height: 300px;
 float: left;
 background-color: blue;
z-index: 1;
 }

  #content {
left: 200px;
margin-left: 200px;
background-color: green;
z-index: 3;
color: white;
}

HTML

<div id="wrapper">
<div id="navbar"></div>
<div id="content-wrapper">
    <div id="content">
        asdfasfdasdfasdg asdga sdgasdg asdgasdgasdgasdg
    </div>
</div>
</div>
于 2013-09-05T12:32:58.537 回答