Como alinhar verticalmente imagem e texto em um DIV usando CSS?
Eu tenho uma imagem e algum texto dentro de uma div e gostaria de colocar a imagem e o texto no centro vertical da div usando CSS. O problema é que eu não sei quantas linhas de texto eu terei, mas o texto e a imagem devem estar SEMPRE no meio. Por exemplo, quando há apenas uma linha de texto, o div deve ficar assim:
####################################
# _______ #
# | | #
# | | #
# | IMAGE | text text text #
# | | #
# |_______| #
# #
####################################
Se eventualmente eu tiver mais linhas ou a altura do texto for maior que a altura da imagem, a imagem deve estar alinhada, assim:
####################################
# #
# text text text #
# _______ text text text #
# | | text text text #
# | | text text text #
# | IMAGE | text text text #
# | | text text text #
# |_______| text text text #
# text text text #
# text text text #
# #
####################################
Estou com problemas para obter esse efeito, existe alguma maneira sem usar o javascript para fazer isso?
Obs. O div pai do div que estou me referindo tem posição: relativa, então há outro problema.