Clearfix with absolute positioned elements
My problem is the following:
The border does not wrap the containing items. I know this is because I position the content-item absolute, but I need them to be absolute for the layout to work. This also means that I cannot use the clearfix solution (this means that I have to float the elements, which it not an option).
So my question is, how to I get the parent div to get the height of the contained elements.
EDIT: No Javascript solution, CSS only
Html:
<div class="mask">
<div id="content-1" class="content-item">
Lorem ipsum dolor sit amet, consectetur adipisicing elit...
</div>
<div id="content-2" class="content-item">
Lorem ipsum dolor sit amet, consectetur adipisicing elit...
</div>
</div>
CSS:
.mask{
position:relative;
width:800px;
border: 1px solid black;
}
.content-item{
position: absolute;
width:300px;
}
#content-1{
left:10px;
}
#content-2{
left: 300px;
}
set one item to float:left
and the other to position:absolute; right:0
position:absolute; right:0
and use a clearfix
.
Change the position: absolute;
of .content-item
to position: relative;
and give it a float: left;
. Remove #content-1
and #content-2
, you don't need them anymore. And at last insert a new class into your html (after the 2 #content
id's) and add a clear: both;
to that class in your stylescheet.
Example: http://jsfiddle.net/skeurentjes/xLTJp/1/
链接地址: http://www.djcxy.com/p/88464.html上一篇: 绝对定位忽略父代的填充
下一篇: 带有绝对定位元素的Clearfix