Je dois créer une visionneuse d'image: à gauche, il y a un TD redimensionnable avec la div et l'image/vidéo. Dans le bon TD, il y a des commentaires. Les images sont redimensionnées de sorte que les vues panoramiques, avec des proportions élevées, puissent être visualisées avec une barre de défilement (horizontale ou verticale), mais les barres de défilement ne sont affichées que lorsque cela est nécessaire. Le problème est de savoir comment calculer la largeur/hauteur correcte.Redimensionner un élément avec débordement: prise en compte automatique des barres de défilement
est ici la structure du document que je travaille avec:
<table><tr>
<td id="container" width="100%" style="height: 100%">
<div id="frame" style="border: 7px solid; width: 200px; height: 150px; overflow: auto">
<img id="content" src="..." />
</div>
</td>
<td width="200">some comments</td>
</tr></table>
Je veux redimensionner #frame
pour que ce soit comme min(size of #container, max(size of #frame, size of #content))
. En d'autres termes, pour le redimensionner de sorte que chaque dimension ait été maximisée à l'intérieur de #container
, mais il n'y avait pas d'espace blanc entre #content
et #frame
. Je fais ce calcul min (max ...) sur chaque dimension, en tenant compte des bordures, des paddings, des marges. Mais ensuite il laisse des barres de défilement.
j'essaie de vérifier la différence entre clientHeight & style.height et ajouter la différence si #frame
est encore plus petite que #container
. Mais ce n'est pas très fiable à cause des barres de défilement qui disparaissent seules ou ensemble.
Existe-t-il une solution existante?
consultez [ceci] (http://webfx.eae.net/dhtml/genresize/genresize.html) – jjj