Ho una tabella HTML che può contenere più di 1K righe e una dozzina circa di colonne.Come evitare il costo delle prestazioni di overflow: nascosto?
Desidero che le colonne abbiano una dimensione fissa (controllabile dall'utente) e non crescano/si restringono verticalmente o orizzontalmente. Quindi visivamente il contenuto di una particolare cella di una tabella sarà su una riga e l'overflow verrà troncato alla fine della cella.
Esecuzione dell'analisi delle prestazioni in Chrome su un grande tavolo il principale killer delle prestazioni è overflow: nascosto.
Ho provato a inserire il contenuto di ogni cella all'interno di un input, poiché ciò replicherebbe lo stesso comportamento visivo, ma ha un impatto simile sulle prestazioni.
Cosa consiglia la gente per migliorare le prestazioni?
Se necessario, non è necessario utilizzare un tag di tabella, ma preferirei attenersi al tag di tabella se è possibile ottenere buone prestazioni.
Aggiornamento 1: Ho incluso un file che dimostra il problema di prestazioni here. Attenzione il file è piuttosto massiccio (25 MB) e rallenterà il tuo computer. Per impostazione predefinita, la tabella non ha overflow impostato su hidden e una volta caricata la tabella (può richiedere un po 'di tempo) le prestazioni del browser relativamente agevolmente.
Tuttavia, se si modificano il file e le righe di commento 12-15 e quindi lo si apre. Vedrai dopo aver caricato il browser attorno al tavolo è sensibilmente meno reattivo.
C'è un motivo per cui non si utilizza l'impaginazione? –
Molte ragioni in realtà. Principalmente da una prospettiva UX. Ma potresti avere una situazione in cui hai solo 100 righe e la persona è su un computer lento. Migliorare le prestazioni non solo avvantaggerà gli utenti con molti dati, ma tutti. –
Potresti pubblicare un campione del markup e degli stili che stai utilizzando? Qui: https://gist.github.com/2705929 Ho impostato una tabella 12x1800, con oltre 400 caratteri per cella. Le prestazioni sembrano buone (anche se non sono su una macchina lenta). – Beejamin