Podrías simplemente el div principal ponerle esto:
Código:
#divconfondo {
background: #530d8e url('tuimagen.png') repeat-x;
}
Lo que sucederá es que este div siempre será de color #530d8e y tuimagen.png es la imagen del gradiente de negro a morado, y al terminar el gradiente se mostrará el color de fondo del hexadecimal, y tu contenido podrá estar dentro de este div sin aumentar otros más.
Si te entendí bien esa sería la solución mas factible.
Saludos