This method uses margins, paddings, and overflow to force the columns to be equal heights. The methodology entails setting a big enough padding at the bottom of each floated element, and countering it with an equal negative margin at the bottom of the same elements. The trick is to set the overflow on the parent container to hidden.
Here is HTML and CSS:
<div class="main">
<div class="container clearfix">
<div class="content">
<section>
<h1>This is the Main Content</h1>
<hr>
<h2>A sub heading</h2>
<p>Lorem ipsum dolor sit amet, consectetur...</p>
</section>
</div>
<div class="sidebar">
<aside>
<h2>This is a sidebar</h2>
Sign up to the newsletter!
</aside>
</div>
</div><!-- /.containter -->
.main .container {
padding-right: 330px;
overflow: hidden;
}
.content {
float: left;
width: 100%;
background-color: orange;
}
.sidebar {
float: right;
margin-right: -330px;
width: 300px;
background-color: olive;
}
.content,
.sidebar {
padding-bottom: 99999px;
margin-bottom: -99999px;
}
section,
aside {
padding: 30px
}
This could be extended to multiple rows for a more grid-like layout instead of just two columns. You can also use fluid width columns if you want.
Here is js fiddle Demo
Reference Link
http://knowwebdevelopment.blogspot.in/2014/10/css-equal-height-columns-three.html