Mi piacerebbe avere un layout composto da tre immersioni adiacenti. I div laterali hanno una larghezza statica (può cambiare via javascript) e il centro div riempie un'area rimanente. Quando le dimensioni della prima div cambiano, influisce solo su quella centrale. È simile alla tabella (con rendering dinamico) costituita da tre colonne.3 colonne, centrale con larghezza flessibile
Ok, ma dov'è il problema. Il problema è che se metto il div floating-left nella prima colonna, e blocco div nel secondo e terzo, i div divs si comportano in modo strano. Sono resi nella loro colonna al di sotto della variabile floating dalla prima colonna.
Un esempio. Nella prima e nella seconda colonna ho div floating e blocco div nella terza colonna. Il div del blocco viene spostato verso il basso all'altezza dei div fluttuanti. Div nella colonna centrale non è spostato nella sua posizione y solo che ha una proprietà flottante a sinistra.
Mi piacerebbe che ciascuna delle tre divisioni di layout fosse indipendente l'una dall'altra. Non ho idea del perché gli elementi nella terza colonna galleggiano div nelle prime due colonne (con la proprietà float).
CODICE:
<div style="margin: auto; display: table; width: 260px;">
<div style="display: table-row;">
<div style="display: table-cell; width: 100px;">
<div style="float: left; width: 40px; height: 50px;">COL1</div>
</div>
<div style="display: table-cell;">
<div style="float: left; height: 50px; width: 40px;">COL2</div>
</div style="display: table-cell; width: 100px;">
<div class="sideContainer">
<div>COL3</div>
</div>
</div>
</div>
e risultato: result
Come risolvere questo. Come rendere tutti i div di layouting (colonne) indipendenti l'uno dall'altro. Qualche idea?
Hai un attributo su un clos e tab: ' div style = ...>' – arnaud576875
È un mio errore. Lo stile su una scheda chiudi dovrebbe essere invece di 'class =' sideContainer '; Questo è ciò che viene visualizzato nel risultato link –
Ma, penso di capire perché funziona in questo modo. Quindi, ad esempio: floating div nel centro layouting div è il primo figlio del suo genitore. Quindi, se ha attributo float, ma non ha nulla da fluttuare alla sua sinistra, fa galleggiare il fratello precedente genitore (primo div del layout). Per risolvere questo ho bisogno di inserire qualcosa (cioè div con larghezza uguale a 0) davanti al div floating. O se ho due div floating, il primo deve essere float: none e display: inline. –