Qui c'è un po 'di trucco, di cui è necessario essere consapevoli. Se inserisci spazi bianchi tra la chiusura del primo div e l'apertura del secondo, il tuo 50% non funzionerà a causa dello spazio visualizzato nel browser.
Ci sono un paio di modi per farlo. Se ci si rivolge solo moderni browser (IE9 +, FF, Chrome, Safari), è possibile utilizzare inline-block
:
<style>
.childDiv {
display: inline-block;
width: 50%;
}
</style>
<div class="parentDiv">
<div class="childDiv"> // 50% width
</div><div class="childDiv"> // 50% width
</div>
</div>
Tuttavia, IE7 non supporta inline-block
, in modo da poter passare al metodo "vecchia scuola" , utilizzando carri:
<style>
.childDiv {
float: left;
width: 50%;
}
</style>
<div class="parentDiv">
<div class="childDiv"> // 50% width
</div><div class="childDiv"> // 50% width
</div>
<div style="clear: both"></div>
</div>
Se si vuole garantire entrambe le colonne sono esattamente la stessa larghezza e hanno ancora un piccolo spazio tra di loro, utilizzare diversi stili di carri allegorici. Nota: questo metodo non richiede che si eliminano gli spazi bianchi nel markup tra i div, a patto che la larghezza si utilizza è inferiore al 50%:
<style>
.childDiv {
width: 49.5%;
}
.left { float: left; }
.right{ float: right; }
</style>
<div class="parentDiv">
<div class="childDiv left"> // 49.5% width
</div>
<div class="childDiv right"> // 49.5% width
</div>
<div style="clear: both"></div>
</div>
Questo potrebbe essere solo me, ma sto avendo difficoltà a capire la tua domanda. – Bulvak
Proprio come Christoph mostra. Un valore percentuale nel CSS è sempre relativo al div padre. Assicurati di aver impostato la larghezza di 'parentDiv'. – poepje
Per impostazione predefinita, tuttavia, un 'div' viene visualizzato come blocco, quindi occuperà il 100% della larghezza del suo genitore (che, se quel genitore è' body', la larghezza sarà il 100% del viewport). – saluce