Один из самых распространенных способов сделать это - разрезать изображение на 3 части, как показано на рисунке ниже:

Там, где сначала будет показан кусок 1, затем сделайте высоту элемента 2 равной 1px и повторите это по оси Y с помощью CSS, а затем поместите кусок 3 внизу, чтобы «закрыть» контейнер
Ваш HTML может быть в форме:
<div class="div_top"></div>
<div class="div_middle"> your content here </div>
<div class="div_bottom"></div>
Обновление
Css будет что-то похожее на это:
.div_top {
background-image:url('top_bg.jpg');
background-repeat:no-repeat;
width:800px;
}
.div_middle {
background-image:url('middle_bg.jpg');
background-repeat:repeat-y;
width:800px;
}
.div_bottom {
background-image:url('bottom_bg.jpg');
background-repeat:no-repeat;
width:800px;
}
Возможно, вы захотите установить фиксированную высоту для ваших верхних и нижних div, так как они не имеют содержимого и фактически не расширяются, чтобы показать фоновое изображение.