Applicando column-count: 2 al DIV che circonda la tabella e display: block agli elementi della tabella.
Ma non sono sicuro di come forzare l’intestazione ad estendersi su tutta la riga
AGGIORNAMENTO.
Ho appena realized che, dal punto di vista funzionale, dovrei o duplicare questa riga di intestazione, lasciare solo “Categorie” o semplicemente nasconderla tutta…
Credo che potrebbe essere più semplice se imposti tbody con display: block e column-count: 2? In questo modo, thead continuerà a occupare l’intera larghezza.
Ma sì, a quel punto vorrai nascondere tutto tranne “Categoria”.
Ma solo quando ho inserito artificialmente le categorie a sinistra in un div (per evitare che si dividesse troppo presto; altrimenti la categoria radice “Measure” finirebbe nella colonna di destra):
Quello che chiedi sembra complicato e potrebbe richiedere un po’ di magia JavaScript.
Con la proprietà CSS column, sono sicuro che le categorie non saranno allineate orizzontalmente (a meno che non imposti un’altezza fissa), come accade con Flexbox, e non è molto elegante.
Ho ottenuto quello che volevi, ma è un po’ macchinoso:
Ho utilizzato il mio precedente CSS, poi ho aggiunto un <tr> vuoto (che credo si possa fare con una singola riga di JS) e impostato la proprietà order per cambiare l’ordine dei div. Quest’ultimo può essere fatto solo via CSS indirizzando ogni valore HTML data-category-id. Ecco il risultato:
Tieni presente che probabilmente dovresti modificare il CSS e/o JavaScript ogni volta che aggiungi o rimuovi una categoria.
Modifica: se ti servono solo uno o due elementi vuoti aggiuntivi, non hai bisogno di usare JavaScript per aggiungere un <tr>; puoi anche usare :after e/o :before in questo modo:
Grazie, è andato tutto bene Non ci dispiace dover gestire manualmente le categorie, quindi va tutto bene.
Il risultato finale è visibile sul nostro Forum.