动态扩展左栏到页脚

时间:2014-02-25 05:19:05

标签: html css

伙计们,请帮我扩展左栏到页脚,如果内容由内部DIV扩展,它应该动态扩展为页脚,请参阅下面的代码和演示:

HTML

<div class="wrapper">
    <header class="header"> </header>
      <div class="middle">
        <div class="container">
                <main class="content">
                        <div id="child">
                        <p>1</p>
                        <p>1</p>
                        <p>1</p>
                        <p>1</p>
                        <p>1</p>
                        <p>1</p>
                        <p>1</p>
                        <p>1</p>
                        <p>1</p>
                        <p>1</p>
                        <p>1</p>
                        <p>1</p>
                        <p>1</p>
                        </div>
                </main>
        </div>
        <aside class="left-sidebar">Left bar</aside>
     </div>
   <footer class="footer"></footer>
</div>

CSS

.wrapper {
    width: 500px;
    margin: 0 auto;
    min-height: 100%;
}
.header {
    height: 100px;
    background: blue;
}
.footer {
    height: 60px;
    width: 100%;
    bottom: 0;
    position: relative;
    background:yellow;
    clear:left;
}
.middle {
    width: 100%;
    min-height: 300px;
    position: relative;
}
.container {
    min-height: 300px;
    width: 100%;
    float: left;
}
.content {
    width: 800;
    min-height: 300px;
    left: 280;
    position: relative;
    background:red;
    padding-bottom:70px;
}
#child {
    position:relative; 
    margin-top:100px;
    left:160px;
    min-height:500px;
    width: 200px;
    border: solid 1px white;
    background:green;
}
.left-sidebar {
    float: left;
    width: 100px;
    min-height: 500px;
    height: 100%;
    margin-left: -100%;
    position: relative;
    background:  black;
}

DEMO http://jsfiddle.net/ac6s7/23/

2 个答案:

答案 0 :(得分:2)

您的结构可以是这样的:

<div class="wrapper">
    <header class="header"></header>
    <div class="middle">
        <div class="container">
            <aside class="left-sidebar">Left bar</aside>
            <main class="content">
                <div id="child"></div>
            </main>
        </div>
    </div>
    <footer class="footer"></footer>
</div>

CSS:

.wrapper {
    width: 500px;
    margin: 0 auto;
    min-height: 100%;
}
.header {
    height: 100px;
    background: blue;
}
.footer {
    height: 60px;
    width: 100%;
    bottom: 0;
    position: relative;
    background:yellow;
    clear:left;
}
.middle {
    width: 100%;
    min-height: 300px;
    position: relative;
}
.container {
    min-height: 300px;
    width: 100%;
}
.content {
    width: 800px;
    min-height: 300px;
    left: 280;
    position: relative;
    background:red;
    padding:10px;
    display:table-cell
}
#child {
    position:relative;
    margin-top:100px;
    left:160px;
    min-height:500px;
    border: solid 1px white;
    background:green;
    width:200px;
}
.left-sidebar {
    display:table-cell;
    width: 100px;
    min-height: 500px;
    height:100%;
    margin-left: -100%;
    position: relative;
    background: black;
}

Working Demo

希望这会对你有所帮助。

答案 1 :(得分:1)

我相信这就是你要找的东西。

Fiddle Demo

我不确定我改变了什么,但这是我认为可能已经改变的风格。

<强> CSS

.container {
    min-height: 300px;
    width: 100%;
    float: left;
    height:100%;
}
.content {
    width: 800;
    min-height: 300px;
    left: 280;
    position: relative;
    background:red;
    padding:10px;
}
.left-sidebar {
        left:0;
        width: 100px;
        min-height: 500px;
        position: absolute;
        background:  black;
        height:100%;
}