The problem is that table is not inherently responsive. You used display table , table-row and table-cell , which expand beyond the content with the content and create unwanted effects.
As you can see in this fiddle : if you remove the table elements, the width issue will disappear, but then you won't get the sticky footer you are looking for.
change your CSS to:
html, body { height: 100%; } #wrap { min-height: 100%; background: #337ab7; } .page-wrap:after { content: ""; display: block; height: 51px; } nav.navbar { margin-bottom: 0; } .content-sm { padding: 15px 0; } .box-content { width: 9000px; height: 5000px; background: red; } .box-responsive { width: 100%; max-width: 100%; overflow-x: scroll; border: 1px solid green; }
You will get your desired flexible width as well as a full height web page with a sticky footer.
sharf source share