How to shift a background image with css
Rather than manually shifting the image by 8px
, you should just anchor the image to the padding box (green in the diagram below) instead of the border box (yellow). Doing this will place the top-left corner of the image inside of the border instead of behind it.
background-origin: padding-box;
This will make maintenance easier since it will still work even if you change the border width.
You can also set the background's origin to the content box (blue):
background-origin: content-box;
Documentation / Simple Demo @ MDN
You can use the background-position:
background-position: 8px 8px;
More on that: https://developer.mozilla.org/en-US/docs/Web/CSS/background-position
you could also use some short hand.background: <colour> <image url> <repeat> <left> <top> <scroll>
for yours i'd be thinking something like:background : transparent url(<location to img>) no-repeat 8px 8px scroll;