div.box:before {content:url(top.png);}
div.box {
background-image:url(middle.png) repeat-y;
width:?;
margin:0;
padding:0;
}
div.box:after {content:url(bottom.png);}
Это изящная вещь, которая помещает верхние и нижние картинки как изображения внутри рамки, но всегда первым и последним. Конечно, это не работает, если у вас есть поля или отступы, но попробуйте сделать это тоже:
div.box > div {padding:10px;}
<div class="box"><div>
Content goes here
</div></div>
Это должно дать вам именно то, что вы хотите, каким-то странным образом. Помните, что старые браузеры не будут поддерживать эти правила CSS.