It's because the width of your container div. You see, when you put left and right padding on an element it's actual width is calculated as a sum of
width + padding-left + padding-right. So if you put 8px padding to left and right side of your dive and you set it's width to 100% it's actual width is 100% + 16px. That's why your whole container div is wider the it should be and you don't get the right effect. Just use inspect tools that almost every browser has and see for yourself. To make it more clear I made a screenshot in Chrome (image below). You can see that the padding is added correctly but it's the width of the div that's cosing the problem.
Attachment 4980