Centrar verticalmente texto en un contenedor

Pues hay bastantes soluciones, pero esta es bastante crossbrowser:

HTML

<div class="vcenter">
   <p>text <br> text </p>
</div>

CSS

.vcenter {
   width: 200px /* customize it */
   height: 200px /* customize it */
}

.vcenter:before {
   content: " "
   display: inline-block;
   height: 100%;
   vertical-align: middle;
}

.vcenter:first-child {
   vertical-align: middle;
   display: inline-block;
}

DEMO