If you set your padding to 40px for each side it wants to believe the start of the absolute div is from the left of your relative div, you need to set a negative margin
<div class="outer">
<div class="inner">
</div>
</div>
.outer {
position:relative;
}
.inner {
position:absolute;
width:100%;
padding:0 40px;
margin-left:-40px;
}
fiddle