Sto costruendo un designer di temi HTML/javascript per un CMS. Gli elementi sono posizionati in modo assoluto e possono essere spostati/ridimensionati tramite il mouse e/o contengono testo modificabile la cui altezza può essere determinata dal numero di linee. Tuttavia sto correndo nel problema in cui l'altezza di un elemento genitore non si espande per includere i suoi bambini posizionati in modo assoluto.Estendi l'altezza per includere i bambini posizionati in modo assoluto
codice minimo (anche su 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>
Una soluzione CSS-only è ideale e io non sono preoccupato per i browser più vecchi. Ma sono soprattutto alla ricerca di un modo per evitare che JavaScript venga eseguito su ogni pagina utilizzando un tema creato per impostarne l'altezza (poiché le pagine con lo stesso tema possono avere quantità di testo diverse).
Ci sono già alcune domande simili ma le risposte accettate (ad esempio, non utilizzare il posizionamento assoluto) non funzioneranno nel mio caso. A meno che non ci sia un modo per avere più livelli di elementi trascinabili/ridimensionabili senza che questi siano posizionati: assoluto.
non so, ma non credo che può essere fatto con puro CSS. –