 <p>It happens because of the padding. If you don't use <code>box-sizing:border-box;</code> and add background to that bootstrap column, the background applies to the padding as well. I've added this global rule to your jsfiddle:</p> <pre><code>* { box-sizing: border-box; } </code></pre> <p>and it all works how you intended. Read up on box-sizing, I always use border-box when I build my sites, this way there is no surprises when it comes to sizes of the elements when I add padding or border.</p> <p><a href="https://jsfiddle.net/e1vx1mhb/1/" rel="nofollow">https://jsfiddle.net/e1vx1mhb/1/</a></p>