You have a couple of errors in your HTML, plus it could use some streamlining, but basically since you are clearing floats with overflow hidden, even if you were using the correct method, the bg would not be visible outside its container, so a different overall method is necessary.