2009-01-12 8 views

Répondre

1

Généralement quelque chose dans le sens de ceci fonctionne plutôt bien dans n'importe quel élément de bloc avec une hauteur définie.

table { 
position: absolute; 
top: 50%; 
margin-top: -50%; 
} 

Centrer sur la page est plus difficile puisque vous n'avez pas une hauteur définie, mais je pense que cela fonctionne.

html { 
height: 100%; 
} 

Vous pouvez rencontrer des différences de navigateur, agir en conséquence.

+0

Habituellement, je finis avec quelque chose comme ça, sauf avec une classe de wrapper autour de la table (parce que vous avez besoin de la propriété top pour être sur l'élément externe et le margin-top pour être sur l'élément interne. – Jimmy

0

Si vous pouvez donner à la table une hauteur fixe, alors n'hésitez pas à adapter le CSS de this site Je viens de le faire.

Peu compliqué à expliquer, mais vous définissez fondamentalement un 'horizon' de 1 pixel à 50% de la hauteur de l'écran autour de votre contenu, puis décalez le haut de l'élément à centrer (ie votre table) de 50% sa hauteur.

EDIT: Here's the article J'ai fait à l'origine ma solution de, avec l'explication & tout.

1

Peu dit, il suffit de faire votre corps une table, car vertical-align fonctionne sur les cellules de table-:

body, html { 
    height: 100%; 
} 

body { 
    display: table; 
} 

#wrapper { 
    display: table-cell; 
    vertical-align: middle; 
    height: 80%; 
} 

Cela vertical aligner votre pagewrapper au milieu et que ce soit fluide 80%

Questions connexes