Reputation: 5676
<html>
<head>
<style type="text/css">
.container {
width: 900px;
border: 2px solid #333333;
padding-top: 30px;
padding-bottom: 30px;
}
.container_left {
border: 2px solid #FF00FF;
width: 650px;
float: left;
}
.container_right {
border: 2px solid #0000FF;
width: 225px;
float: right;
}
</style>
</head>
<body>
<div class="container">
<div class="container_left">
<div>LEFT CONTAINER</div>
<div>LEFT CONTAINER</div>
<div>LEFT CONTAINER</div>
</div>
<div class="container_right">
<div>RIGHT CONTAINER</div>
<div>RIGHT CONTAINER</div>
<div>RIGHT CONTAINER</div>
</div>
</div>
</body>
</html>
The result is:
I want a result like this:
Upvotes: 21
Views: 17624
Reputation: 344261
One option is to put in a <div style="clear: both;"></div>
just before closing the container div.
<div class="container">
<div class="container_left">
<div>LEFT CONTAINER</div>
<div>LEFT CONTAINER</div>
<div>LEFT CONTAINER</div>
</div>
<div class="container_right">
<div>RIGHT CONTAINER</div>
<div>RIGHT CONTAINER</div>
<div>RIGHT CONTAINER</div>
</div>
<div style="clear: both;"></div>
</div>
Upvotes: 5
Reputation: 43447
A quick fix is to add overflow: hidden
to your .container
.
This is not the best solution per say, merely the quickest fix. Your best solution would be to implement and apply clearfix as it doesn't have issues with printing due to overflow.
In the event you use overflow: auto
or overflow: hidden
and a user attempts to print the page, content that does not fit on the printed page will be clipped because:
Upvotes: 12
Reputation: 68650
.clear:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
* html .clear { height: 1%; }
*:first-child+html .clear { min-height: 1px; }
Apply .clear to your parent element.
Upvotes: 1
Reputation: 83699
to the outer div you might want to use the clearfix css, explained here: http://www.positioniseverything.net/easyclearing.html
Upvotes: 1
Reputation: 449385
Give the container a
overflow: auto
or
overflow: hidden
see this page on quirksmode.org for details on the issue.
Upvotes: 25
Reputation: 53930
Add overflow: hidden;
to the .container
selector. This will force the container to acknowledge that it has children.
Upvotes: 39