28172 sujets

CSS et mise en forme, CSS3

bonjour
je voudrais centrer verticalement un texte dans un block , voilà ce que j'ai fait


<div id="block">
<p> texte à centrer verticalement </p>
</div>


j'ai fait cela en CSS

#block{
display:table-cell;
vertical-align:middle;


ça fonctionne mais:

1) le block ne prend pas toute la largeur car il est vu comme une cellule de tableau ; j'ai donc imposer une largeur identique au body et au block ... ça passe mais ça ne me semble pas très malin car lourd non?

2) je me dis qu'il y a surement un moyen hyper simple d'y arriver sans display:table-cell mais je ne le connais pas ... pas encore

merci
Bonjour,
Non, à ma connaissance il n'y a pas d'autre moyen que le display: table-cell pour centrer verticalement.

Pour qu'il prenne toute la largeur il ne suffit pas de lui mettre width: 100% (j'ai peut-être mal compris le problème, j'ai pas pris le temps de tester ^^)
Modifié par BlueScreenJunky (04 Mar 2012 - 21:45)
merci pour vos réponses

apparemment "l'esprit" de la méthode sans le display:table-cell c'est:

text align:center à appliquer sur le bloc conteneur et
display;inline-block accompagné de
vertical-align:center
sur le <p>

y a plus qu'à tester...