Come si codifica un layout a tre colonne in CSS quando l'ordine di origine salta da una colonna all'altra?Layout a 3 colonne - Senza colonne
La pagina ha sette sezioni: this fiddle mostra come l'ordine sorgente richiesto è paragonabile al layout. Il numero è per la sua posizione nell'ordine di origine e il testo è dove dovrebbe apparire nella pagina.
Come si può vedere, vi sono essenzialmente tre colonne e tre righe, ma gli elementi della seconda fila dovrebbero non top-allineamento e la seconda fila non dovrebbe eliminare l' prima riga. Ogni sezione dovrebbe essere a filo con la parte inferiore della sezione che si trova sopra di esso.
Note:
L'ordine sorgente corrisponde l'ordine che gli elementi hanno bisogno di apparire sui dispositivi mobili e, purtroppo, non può essere modificato
anche io non hanno la possibilità di duplicare sezioni nel markup e quindi mostrandole/nascondendole in base alla larghezza della viewport
Il posizionamento assoluto non è purtroppo un'opzione in quanto il layout m Ust adattarsi a qualsiasi larghezza di 320px viewport e fino
Ho provato una serie di ben note tecniche di layout CSS e il violino sopra mostra il tentativo più riuscito - qui è il codice utilizzato per la "riga superiore ":
.top-center {
float: left;
width: 55%;
margin-left: 25%;
}
.top-left {
float: left;
width: 25%;
margin-left: -80%;
}
.top-right {
float: right;
width: 20%;
}
Qui ci sono i problemi che sto incontrando:
IE 9/10 è un disastro completo (vedi sotto)
In Chrome, il div "Medio destro" cancella sempre il div "In alto a sinistra", impedendo che venga posizionato sotto "In alto a destra". Inoltre, se il div "Top Right" diventa troppo alto, si sovrappone a "Middle Right".
In Firefox, la seconda "riga" in alto si allinea, sovrapponendo le sezioni sinistra e destra della prima riga.
Ecco come appare in IE10:
e qui è in Firefox:
Posso chiedere se avete A la parte superiore del tuo documento html. Questo a volte può risolverlo in IE. –
user2067005
Se si dispone di questo tipo di requisiti di layout, perché non si modifica l'ordine della sorgente di output o si considera di utilizzare il posizionamento assoluto? –
Mike: l'ordine di origine corrisponde all'ordine in cui gli elementi devono apparire sui dispositivi mobili e, sfortunatamente, non può essere modificato. Ho aggiunto una nota su questo nella domanda, grazie per avermi ricordato – cantera