Je suis en train de créer un concepteur de thème html/javascript pour un CMS. Les éléments sont positionnés de manière absolue et peuvent être déplacés/redimensionnés à l'aide de la souris, et/ou contenir un texte éditable dont la hauteur peut être déterminée par le nombre de lignes. Cependant, je suis confronté au problème où la hauteur d'un élément parent ne s'étend pas pour inclure ses enfants absolument positionnés.Augmenter la hauteur pour inclure les enfants en position absolue
code minimal (aussi JSFiddle here):
<style>
div.layer { position: absolute }
div.layer1 { width: 400px; border: 1px solid #ccc }
div.layer2 { top: 15px; left: 100px; width: 100px; border: 1px solid blue }
</style>
<div class="layer layer1">container should expand to the bottom of the child.
<div class="layer layer2" contentEditable>Child with<br/>editable text.</div>
</div>
Une solution CSS seulement est idéal et je ne suis pas préoccupé par les anciens navigateurs. Mais je suis surtout à la recherche d'un moyen d'éviter le javascript sur chaque page en utilisant un thème créé pour définir leur hauteur (puisque les pages avec le même thème peuvent avoir différentes quantités de texte).
Il existe déjà quelques questions similaires, mais leurs réponses acceptées (par exemple, ne pas utiliser le positionnement absolu) ne fonctionneront pas dans mon cas. À moins qu'il y ait un moyen d'avoir plusieurs couches d'éléments draggable/redimensionnables sans qu'elles soient position: absolute.
Je ne sais pas, mais ne pense pas qu'il peut être fait avec CSS pur. –