Sto tentando di visualizzare tre elementi div distribuiti uniformemente da un bordo all'altro margine di un elemento div contenitore.Giustifica gli elementi div child aggiornati di JavaScript all'interno di un elemento div genitore
Ecco il codice HTML.
<body>
<div id="container" width="50%">
<div>foo</div>
<div>bar</div>
<div>baz</div>
<div class="stretch"></div>
</div>
</body>
Ecco il codice CSS.
#container {
margin: 10%;
background: lightblue;
text-align: justify;
}
#container div {
display: inline-block;
width: 30%;
background: gray;
}
#container div.stretch {
width: 100%;
height: 0;
}
Questo funziona bene come si può vedere qui: http://jsfiddle.net/zVf4j/
Tuttavia, quando provo ad aggiornare il div contenitore utilizzando il seguente JavaScript, elementi del bambino div non è più sparsi da bordo a bordo del elemento div contenitore.
var containerDiv = document.getElementById('container')
containerDiv.innerHTML =
'<div>fox</div>' +
'<div>bay</div>' +
'<div>baz</div>' +
'<div class="stretch"></div>'
La proprietà text-align: justify;
nei CSS sembra avere alcun effetto in questo caso. Il problema può essere visto qui: http://jsfiddle.net/b5gBM/
Ho due domande.
- Perché il posizionamento degli elementi div child cambia quando vengono aggiornati con JavaScript?
- Come possiamo risolvere questo problema in modo che gli elementi div child si distribuiscano uniformemente da un lato del contenitore div all'altro fino a quando non vengono aggiornati con JavaScript?
lol :) stessa idea corretta per [\ n demo] (http://jsfiddle.net/b5gBM/22/) Odio perché non dovrebbe comportarsi così ... –