If you hate the idea of a wrapping element, you could use a pseudo-element, as long as a negative z-index value is OK (it wouldn’t be if there was much nesting going on with parent elements with their own backgrounds). Here’s a Stephen Shaw example of that, tackling border-radius in the process: