我們在我們的軟件中有一個自定義查詢部分,客戶可以自己設計查詢,然後我們將它導出到html表。問題是,如果它超過1000行,在IE中特別慢。查詢快速執行,但渲染需要時間,甚至之後,當我們向下滾動時,它非常緩慢。我的朋友建議我使用div
元素,而不是html table
。Div vs表顯示大型數據集
請任何人請在我做大的修改之前建議我。
我們在我們的軟件中有一個自定義查詢部分,客戶可以自己設計查詢,然後我們將它導出到html表。問題是,如果它超過1000行,在IE中特別慢。查詢快速執行,但渲染需要時間,甚至之後,當我們向下滾動時,它非常緩慢。我的朋友建議我使用div
元素,而不是html table
。Div vs表顯示大型數據集
請任何人請在我做大的修改之前建議我。
的確,一般來說,如果您使用div而不是表格元素,您將獲得性能。這是因爲,默認情況下,大多數瀏覽器都使用自動錶格佈局算法,以便表格及其單元格的寬度取決於其內容。
但是,如果您有表格數據,則語義上正確的表示方式是使用表格。然後,而不是使用div的,你可以改變算法來佈局表格元素,使用table-layout
CSS屬性:
table-layout: fixed
據https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout,
表格的佈局:固定
表和列的寬度是由的
table
和col
元件的寬度或通過細胞的第一行的寬度設置。 中的單元格不會影響列寬。在「固定」佈局方法下,整個表格可以呈現一次 第一個表格行已被下載和分析。這可以通過「自動」佈局方法加速渲染時間,但隨後的 單元格內容可能不適合所提供的列寬。 含有溢出內容的任何單元格都使用overflow屬性來確定 是否剪輯溢出內容。
從經驗,即我也發現有固定的像素列寬爲您的td元素大大減少了渲染的時間。 –
請清除這個問題。 「div」是一個HTML元素
建議必須使用div而不是表格。 HTML表格將不會呈現,直到所有數據都可用,而divs在它們出現時呈現。 –
對不起弗雷德裏克是html表 –