0

Struggling to position the background around the embedded div#'s .. i think it's going to be something tiny i've missed for looking - any ideas?

the blue div border is just there to show me where the columns are while im changing code the div#wrapper (will be a background image when i sort it) - that green is supposed to go behind the embedded div with height adapting accordingly

code on here: http://jsfiddle.net/SparrowWoods/rREAh/689/

<div id="wrapper">
<div id="mainContent">
    <h2>A Start</h2>
                <p>
                Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
                </p>
                <p>
                Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
                </p>
                <h2>A Start</h2>
                <p>
                Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
                </p>
                <p>
                Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
                </p>
</div><!--end main column-->
<div id="sideContent">
    <h2>A Start</h2>
                <p>
                Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
                </p>
                <p>
                Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
                </p>
</div><!--end right column-->
</div><!--end content-->
#wrapper{
    background-color:green;
    height:auto;
    width:100%;
    padding:5%;
    margin-left:10%;
    margin-right:10%;
    position:relative;
}
#mainContent {
    border: 1px solid blue;
    float: left;
    width: 60%;
    height: auto;
    padding:5%;
}
#sideContent {
    border: 1px solid blue;
    float: left;
    width: 25%;
    height: 100%;
    padding:2%;
}
4

3 回答 3

0

背景没有覆盖里面的 div 的原因是因为它们是浮动的。有几种解决方案。其中两个是。

  1. 为您的容器 div 设置固定高度(#wrapper)
  2. 在#maincontent 和#sideContent 下添加一个div,清除所有浮动clear:both 小提琴
于 2013-06-10T15:00:26.363 回答
0

在这种情况下,最简单的解决方案是在列下方使用清除浮动:

<br style="clear:both;padding:0">

您遇到的问题是您正在使用float:left将列放置在彼此旁边。正因为如此,它们被排除在流布局之外,就浏览器而言,有效地使父级为空。这就是为什么您只看到它为其填充着色。

另一种方法是使用 将列彼此相邻放置display:inline-block,但这可能会导致其他一些问题,其中出现空白。

于 2013-06-10T14:54:49.620 回答
0

添加一个浮点数:左;到你的包装元素:

#wrapper{
    float:left;
}

http://jsfiddle.net/rREAh/693/

于 2013-06-10T14:56:57.023 回答