如何通过亲戚DIV扩展父DIV?

时间:2014-02-18 20:47:01

标签: html css

我需要通过子div扩展父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>
                            </div>
                    </main>
            </div>
            <aside class="left-sidebar"></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:10px;
}
#child {
    position:relative; 
    top:100px;
    left:160px;
    min-height:500px;
    width: 200px;
    border: solid 1px white;
    background:green;
}
.left-sidebar {
    float: left;
    width: 100px;
    min-height: 500px;
    margin-left: -100%;
    position: relative;
    background:  black;
}

DEMO:JSFIDDLE

问题是main.content没有被#child垂直扩展到#child相对定位属性中的“top:200”的值,我该如何修复它?因为它目前与页脚重叠。

2 个答案:

答案 0 :(得分:3)

Actualy,当你将“top”属性应用于position:relative时,它不会在页面的其他元素上进行干扰。所以它只会与父div重叠。请尝试使用margin-top:

#child {
    margin-top: 200px;
    left:60;
    min-height:500;
    border: solid 1px white;
}

答案 1 :(得分:1)

你需要清除:左;在页脚上。

    .footer {
    clear:left;
}

http://jsfiddle.net/ac6s7/