2012-11-23 13 views
0

我的web應用程序的儀表板上有一個table。通過主幹視圖之一動態地添加行。儘管新元素的添加速度很快,但當<tr> s的數量超過100時,滾動滯後。可以極其嵌套的CSS減慢網頁?

我在每個<tr>上都有一個mouseout事件綁定,我現在已經擺脫掉了。但這並沒有解決問題。我正在考慮CSS現在是罪魁禍首。我已經嵌套了tbody:first-childtr:first-childtd:last-child兩種,正常和hover狀態定義的樣式,與一般的造型沿着tbodytrtdtbody:hovertr:hovertd:hover

雖然我非常懷疑這是滯後的原因,但我沒有其他嫌疑。是否有可能CSS增加了減速?

CSS - https://gist.github.com/4138323

+5

你有沒有嘗試刪除有問題的CSS?它是否仍然滯後? – thirtydot

+0

我沒有在這裏看到任何「極端嵌套」的例子。不過,某些造型效果可能會導致緩慢滾動。如果你使用非常微小的重複背景(比如2x2微小),Opera會突然變化。我聽說盒子陰影是特別耗費資源的。沒有代碼,我們只是猜測。 – cimmanon

+0

我看過嵌套CSS導致渲染滯後的報告。我們可以在jsfiddle.net上看到你的代碼嗎? – Mooseman

回答

0

這不是這是減緩下來,似乎在深度嵌套CSS。這可能是完全模糊的,但我仍然會發布對我有用的東西。

我的設置是將100 <tr> s和約40 <tbody> s添加到<table>,然後根據用戶活動將其刪除/重新渲染。這在IE當然不起作用,因爲在DOM加載後IE不允許加入<tr>。因此,我使用了div s和span s,並且令人驚訝的是,這減少了其他瀏覽器的延遲。現在一切正常。