2013-10-19 72 views
1

我們在我們的軟件中有一個自定義查詢部分,客戶可以自己設計查詢,然後我們將它導出到html表。問題是,如果它超過1000行,在IE中特別慢。查詢快速執行,但渲染需要時間,甚至之後,當我們向下滾動時,它非常緩慢。我的朋友建議我使用div元素,而不是html tableDiv vs表顯示大型數據集

請任何人請在我做大的修改之前建議我。

+1

請清除這個問題。 「div」是一個HTML元素

..
。 –

+0

建議必須使用div而不是表格。 HTML表格將不會呈現,直到所有數據都可用,而divs在它們出現時呈現。 –

+0

對不起弗雷德裏克是html表 –

回答

2

的確,一般來說,如果您使用div而不是表格元素,您將獲得性能。這是因爲,默認情況下,大多數瀏覽器都使用自動錶格佈局算法,以便表格及其單元格的寬度取決於其內容。

但是,如果您有表格數據,則語義上正確的表示方式是使用表格。然後,而不是使用div的,你可以改變算法來佈局表格元素,使用table-layout CSS屬性:

table-layout: fixed 

https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout

表格的佈局:固定

表和列的寬度是由的tablecol 元件的寬度或通過細胞的第一行的寬度設置。 中的單元格不會影響列寬。

在「固定」佈局方法下,整個表格可以呈現一次 第一個表格行已被下載和分析。這可以通過「自動」佈局方法加速渲染時間,但隨後的 單元格內容可能不適合所提供的列寬。 含有溢出內容的任何單元格都使用overflow屬性來確定 是否剪輯溢出內容。

+1

從經驗,即我也發現有固定的像素列寬爲您的td元素大大減少了渲染的時間。 –