Il problema che ho trovato è il seguente:Chrome/Webkit problema inline-block aggiornamento
Situazione: Ho div complessiva che ha un display inline-block
. Al suo interno ci sono due elementi che hanno anche uno schermo inline-block
.
Quindi aggiungo (grazie a JavaScript) uno <br/>
tra i due elementi. Il secondo passa alla riga successiva, che è il comportamento normale.
Parte Buggy: Il <br/>
viene quindi rimosso (JavaScript di nuovo) e ... il display non cambia. Sembra che la casella del div complessivo non venga ricalcolata. Alla fine ho due markup simili che non appaiono allo stesso modo (che è un po 'problematico, non è vero).
Funziona perfettamente su Firefox (sembra che sia basato sul webkit poiché il browser Android si comporta allo stesso modo). Quindi la mia domanda è, c'è una soluzione che non usa metodi che alterano il DOM? La libreria utilizzata è jQuery.
Un test case here.
EDIT: Come suggerito da duri, ho compilato una segnalazione di bug in WebKit Bugzilla, è here. Ma io sono ancora alla ricerca di una soluzione ;)
Interessante. Sostituire il 'div' completamente funziona - http://jsfiddle.net/4yj7U/2/. Sono curioso di sapere qual è la ragione di questo comportamento. – pimvdb
Cambiare il CSS 'style.display' per _div # ahah_ da' inline-block' a 'inline' risolve questo bug per Chrome. È importante per te avere il valore di visualizzazione 'inline-block' per _div # ahah_? –
Si prega di considerare di riempire un bug nel bugzilla di Webkit. – duri