J'ai un div HTML avec largeur fixe et hauteur, contenant des divs imbriqués arrangés avec 'float: left'. Je voudrais redimensionner les divs imbriqués afin qu'ils remplissent le conteneur (avec de l'espace restant après l'élément imbriqué final comme d'habitude.) En d'autres termes, je voudrais que les éléments imbriqués soient aussi grands que possible sans déborder le conteneuréchelle contenu flotté pour remplir le conteneur
Sample point de départ:
<div style="position: relative; background-color: blue; border: 1px solid yellow; width: 650px; height: 500px; margin: auto;">
<div style="position: relative; background-color: red; border: 1px solid magenta; width: 200px; height: 150px; margin: 5px; float: left;"></div>
<div style="position: relative; background-color: red; border: 1px solid magenta; width: 200px; height: 150px; margin: 5px; float: left;"></div>
...
</div>
(styles inline par souci de concision)
le contenu divs doit être redimensionnée avec leur aspect rapport intact, ni le nombre de divs, ni la taille du conteneur sont connus dans avance
Étant donné que CSS ne fournit pas un moyen de dimensionner automatiquement le contenu flottant de cette manière, je le fais en JavaScript, mais je ne trouve pas d'algorithme approprié pour calculer la taille cible des divs de contenu; Je suppose que je dois faire quelque chose d'intelligent avec les ratios d'aspect relatifs du conteneur et des éléments de contenu, mais je ne peux penser à rien qui fonctionnerait ...
Pouvez-vous fournir des exemples plus détaillés? Je pense que la façon la plus simple de faire cela serait de dessiner quelques images montrant avant et après pour différents nombres d'éléments. – thirtydot
est jQuery acceptable? ou vous avez besoin de JavaScript pur? – Dan
J'utilise déjà jQuery, donc une solution utilisant ça est bien :) Je vais essayer de créer des exemples d'images si cela peut aider à expliquer le problème. – Laurie