Why dont you use clear:both
?
<div id="footer-gradient">
...
<div class="clear"></div> <!---- Inside footer-gradient div. -->
</div>
Css:
.clear{ clear:both; }
Like this
demo
css
.footer{
display:table;
width:100%;
}
.col1{
background-color:red;
display:table-cell;
}
.col2{
background-color:red;
display:table-cell;
padding:0 10px;
}
.col3{
background-color:red;
display:table-cell;
}
display: table
display: table-cell
#footer-gradient {
display: table;
}
#footer-gradient .col {
display: table-cell;
float: none;
}