26. Centrage des éléments

Publié le par Majunia

Nota : Ni les bugs, ni les techniques de contournement de bugs sur les explorateurs peu respectueux des standards ne seront évoqués.

Centrage des éléments de contenu
Centrage horizontal

• Appliquer la déclaration {text-align: center} au conteneur.

Centrage vertical

La méthode vertical-align permet :
• d’aligner entre eux plusieurs éléments en ligne (exemple : image à côté d’un texte).
• d’aligner un élément en ligne dans un élément de type cellule.
Elle n’est donc adaptée qu’au centrage des éléments dans les blocs considérés comme des cellules de tableau.

La propriété display permet de :
• modifier le type d’un élément, transformant en bloc un élément en ligne et inversement.
• transformer un élément en cellule de tableau avec la déclaration display: table-cell.


On obtient alors un support adéquat pour la propriété vertical-align et le centrage vertical d’éléments.

Centrage des blocs et conteneurs
Centrage horizontal

Dans le flux courant

• On centre un bloc dans son conteneur en lui spécifiant une largeur et des marges latérales automatiques (margin-left: auto et margin-right: auto. L’écriture raccourcie donne margin: 0 auto).
• Le positionnement relatif permet de centrer le bloc  (à l’aide margin: 0 auto) tout en y incluant des éléments positionnés.
Rappel: Les éléments positionnés en relatif peuvent contenir d’autres éléments en absolu (ou fixe).

En positionnement absolu

• Placer le bloc à la position absolue left: 50%; : son côté gauche se trouve alors au centre de la page.
• Décaler ensuite le bloc à gauche de la moitié de sa largeur en fournissant une valeur négative à la propriété margin-left.
Exemple : bloc <p> de 200px : positionner <p> en absolu (left à 50%) puis décalage à gauche de la moitié de sa largeur (margin-left de -100px).
Cette méthode n’apporte rien à la technique de marges automatiques présentée plus haut. En revanche, elle autorise l’alignement vertical des blocs.

Centrage vertical

• Le plus pratique est d’associer un positionnement absolu à des marges négatives.
Exemple : bloc <p> de 50px, appliquer top: 50% puis margin-top: -25px.

C’est bien le bloc « élément paragraphe » qui est centré verticalement, et non son contenu textuel.

accéder à l'article suivant

Publicité

Publié dans XHTML - CSS

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article