lucy24 - 5:00 pm on Jul 22, 2013 (gmt 0)
No you don't... All you have to do is increase the left margin of the <p> with the text to get it where you want it. You don't need a separate container for the text at all.
Uhm, your examples do have two elements: div on the outside, paragraph on the inside. The OP made it sound as if the background-image was on the same element as the text. If it's already on a different element, then of course padding vs. margin on the inner element makes no difference to the background.
I was apparently under the misunderstanding that padding could only operate inside the element's defined "width", not add to the total space. Now I am clear.
At least until the next time you forget which way it goes ;) Declared width + padding = total size.