SEB a écrit :
voici un soucis sur lequel je me casse les dents depuis de nombreuses heures...
peut-être pourrez vous m'aider ?
voici ce que je veux faire: j'aimerai adapter la taille d'une image à un div, dont la taille est fixée en pourcentage et qui varie donc en fonction de la résolution de l'écran.
le problème, c'est que mon image est du genre *[(#FICHIER|image_reduire{170px,y})] *où la taille de l'image est fixée par le filtre *|**image_reduire{ }*. donc pas du tout adaptable; lorsque je réduis la taille de mon écran, l'image sors de son div, et donc de sons cadre...
J'ai un problème similaire lorsque je veux organiser les images associées à un portfolio dans un tableau:
<table width="100%">
<BOUCLE_portfolio(DOCUMENTS){id_article}{mode=document}{extension==jpg|png|gif}{doublons}>
[(#COMPTEUR_BOUCLE|alterner{'<tr>','','','',''})]
<td width="20%" valign="top">[(#LOGO_DOCUMENT|#URL_DOCUMENT||image_reduire{150,100})]
<br><b>[(#TITRE)]</b>
<br><small>[(#DESCRIPTIF)]</small></td>
[(#COMPTEUR_BOUCLE|alterner{'','','','','</tr>'})]
</BOUCLE_portfolio>
[(#TOTAL_BOUCLE|alterner{'<td></td><td></td></tr>','<td></td></tr>', '','','',})] </table>
j'ai fixé la taille de chaque cellule du tableau à 20% de la largeur totale mais comme la taille des images est fixée par le filtre *|**image_reduire{ } *si la largeur des images devient plus grande que celle des 20% de la longueur totale du div prévue, forcemment, ça dépasse...
Quelqu'un aurait-il des pistes pour faire en sorte que ces images soient redimensionnées en même temps que le div en question?
Merci d'avance
SEB.* *
------------------------------------------------------------------------
Bonjour,
a mon avis, y a pas de solution a ton probleme, pas de solution propre en tout cas...
La largeur de ton div depend de la resolution du poste client, cette information n est disponible que sur le poste client (pas sur le serveur) il te faudrait donc redimmensionner ton image en script client (javascript) ce qui n est pas possible (a moins qu une librairie genre ajax sache du re-echantillonnage d image, mais je n en connais pas). Tu peux simuler un redimmensionnement, mais l image ne sera pas recree, juste etiree ou reduite comme un viel elastique avec un rendu tres mediocre (les navigateurs internet ne sont pas prevus pour reechantillonner les images).
Y a moyen de recuperer la resolution du client cote serveur puis recalculer l image avec les filtres image (qui eux savent faire) puis la reposter sur le poste client, mais c est lourd a mettre en place, ca force a recharger la page, et ca implique que le serveur va devoir creer une image par resolution (et peut y en avoir beaucoup), le serveur et donc ton hebergeur risque de pas aimer...
Alors comment faire ?
proverbe shadok, "si y a pas de solution, c est qu il n y a pas de probleme" en gros, faut savoir s adapter au contrainte du support, les graphistes de Lascaux ont pas tentes de faire de l animation vectorielle sur les parois de la grotte, z ont fait autre chose...
Peut etre peux tu par exemple afficher ton image en background en la positionnant a 50% 50% au moins ton image ne depassera pas de ton div, elle sera par contre soit tronquee sur les bords, soit centree au milieu avec du vide ou la couleur de ton choix sur les bords...
triton