Supunna a écrit :
Mouais… Je suis sidéré qu'il n'y ait pas de solution pour un problème si ordinaire decu
Le coup du tableau… c'est ce que tu avais choisi a priori… Mais il y a longtemps que j'ai abandonné les tableaux. Ça m'ennuie d'y revenir. Merci quand même cligne
Alors je suis effectivement parti sur l'option de l'image en background, puis jouer avec les padding pour placer le texte. Ça marche assez bien. Pas très orthodoxe…
Le sujet reste ouvert !!
Si ordinaire , heu , ce comportement est typique d'un tableau , surement en cela que c'est 'ordinaire'
.
Autrement , la piste du display:table-cell et display:inline-block (apprivoisé pour IE ), reste une solution alternative qui reste de toute façon bancale ou risquée si mal maitrisée ou incomprise .
ex:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>XHTML 1.0 Strict</title>
<style type="text/css">
#global {
display:table; /* pas pour IE */
width:800px; /* pour IE en particulier */
margin:auto;
}
.table {
display:table-row;
}
li span
{
display:table-cell;
vertical-align:middle;
margin:0;
padding:0;
width:70%;
}
li span.img {
width:29%;
text-align:center;
}
img {
vertical-align:middle;
}
/* test visuel , met en evidence les difference */
ul , span {border:1px solid;
background:#ccc;}
li {background:lightblue}
</style>
<!--[if IE]>
<style type="text/css">
li span {
display:inline;
zoom:1;
}
</style>
<![endif]-->
</head>
<body>
<div >
<ul id="global">
<li class="table">
<span class="img"> <img src="http://decoupe-fr.net/forums/img/avatars/98.jpg" alt="image" width="100" height="100"/></span>
<span>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
</span></li>
<li class="table">
<span class="img"> <img src="http://decoupe-fr.net/forums/img/avatars/98.jpg" alt="image" width="100" height="100"/></span>
<span>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
</span></li>
</ul>
</div>
</body>
</html>
ça reprend le principe evoqué ici :
http://yidille.free.fr//plux/valign/?2-complement-vertical-align
Bien comprendre le comment du pourquoi et fixer une largeur au moins à l'un des 2 élements permet d'avoir un rendu alternatif dans IE (les deux si on veut les mêmes proportions dans les differents navigateurs)
EN fait ,... rien ne remplace un tableau
.
GC