Comment centrer un div verticalement?

J'ai un div que je veux centrer horizontalement et verticalement.

Pour la question horizontale tout est parfait, mais j'ai un problème avec l'alignement vertical.

J'ai essayé ceci:

#parent {
    display: table;
}

#child {
    display: table-row;
    vertical-align: middle;
}

mais cela ne fonctionne pas.

source d'informationauteur trrrrrrm