En effet si la hauteur de ton texte reste fixe tu as plusieurs solutions
possibles dont celle décrite par Florent.
Dans le cas d'un texte de hauteur variable les choses se corsent un peu :
comme vertical-align se base sur la taille de font-zize, l'astuce consiste
à donner à l'élément parent (ici le <p>) une hauteur de font-zize
équivanvente à 100px (hauteur de ton image).
Appliquer ensuite un vertical-align:middle au texte n'aura en principe
pour effet que de centrer la boîte en-ligne (valeur font-size+interligne) de la première ligne du texte.
Un inline-block (non implémenté par Firefox) rectifira le tir en centrant
verticalement le bloc de texte complet.
Certe c'est un peu tordu mais pourquoi aprés tout ne pas utiliser tout le potentiel de CSS pour arriver à ses fin.
Exemple de code avec commentaires :
Cette méthode suppose une taille de texte de base à 75% et une taille
de police du navigateur standard : 16px
p {font-size: 8.33em;} /* pour conserver une taille de police relative :
16 x 0.75 x 8.33 = 100px*/
span.texte {
display:inline-block;
font-size: 0.12em; /*on récupère la taille par default : 12px*/
vertical-align: middle;
}
La solution que je donne ne fonctionne qu'avec un parent de hauteur fixe.
Mais attention je te garantis pas à 100% du bon fontionnement de cette
méthode.
Enfin ne pas oublier que cette méthode ne fonctionne que sur IE.
Modifié par Hermann (20 Feb 2007 - 12:44)