par
Victor BRITO » 30 mars 2007, 11:53
Salut!
Si ton image n'est pas le seul élément en ligne contenu dans le bloc, tu peux utiliser vertical-align: middle.
Pour illustrer le contexte:
Code : Tout sélectionner
<div>Un peu de contenu accompagnant une image <img src="image.jpg" alt="Texte alternatif" /></div>
La propriété vertical-align aligne verticalement une cellule de tableau ou un élément en ligne
relativement à un autre élément en ligne adjacent.
Autrement dit, si ton image est toute seule dans le bloc et que tu veux utiliser vertical-align, il faut déclarer dans le fichier CSS le code suivant:
Code : Tout sélectionner
div {
display: table-cell;
vertical-align: middle;
height: 400px; /* Il faut définir une hauteur, sinon le bloc occupera seulement la hauteur de l'image */
}
/* Et l'on ne déclare rien pour img */
Le principal inconvénient est qu'Internet Explorer, même dans sa version 7, n'implémente pas la déclaration display: table-cell. Dans ce cas, pour IE, la solution proposée par Cyrano fera l'affaire.
Salut!
Si ton image n'est pas le seul élément en ligne contenu dans le bloc, tu peux utiliser vertical-align: middle.
Pour illustrer le contexte:
[code]
img {
vertical-align: middle;
}
[/code]
[code]
<div>Un peu de contenu accompagnant une image <img src="image.jpg" alt="Texte alternatif" /></div>
[/code]
La propriété vertical-align aligne verticalement une cellule de tableau ou un élément en ligne [b]relativement à un autre élément en ligne adjacent[/b].
Autrement dit, si ton image est toute seule dans le bloc et que tu veux utiliser vertical-align, il faut déclarer dans le fichier CSS le code suivant:
[code]
div {
display: table-cell;
vertical-align: middle;
height: 400px; /* Il faut définir une hauteur, sinon le bloc occupera seulement la hauteur de l'image */
}
/* Et l'on ne déclare rien pour img */
[/code]
Le principal inconvénient est qu'Internet Explorer, même dans sa version 7, n'implémente pas la déclaration display: table-cell. Dans ce cas, pour IE, la solution proposée par Cyrano fera l'affaire.