2012-10-05 66 views
1

我有一組標題div,需要匹配下面的內容div的寬度。一般來說,內容div比標題div更薄,並且它們的大小可能會有所不同。Webkit和Firefox之間「scrollWidth」的行爲不一致

因此,我所做的是設置標題div的寬度以匹配內容div的寬度。然後,因爲我想讓標題和內容足夠寬以至於不會切斷任何單詞,所以我檢查每個標題的「scrollWidth」屬性以查看它是否大於其「offsetWidth」屬性,然後設置標題的內容和標題寬度scrollWidth。

header.style.width = tableCell.offsetWidth + "px"; 
if (header.scrollWidth > header.offsetWidth) { 
    content.style.width = header.scrollWidth + "px"; 
    header.style.width = header.scrollWidth + "px"; 
} 

這對於Safari和Chrome很有效,但在FireFox中完全不起作用。在Firefox中,「scrollWidth」返回與標題設置寬度相同的值。

「聽起來像是一個很棒的時間使用表」你說,但我不能。標題需要在頁面頂部保持靜態。

那麼,我該如何讓Firefox在這些條件下返回一個等價值給scrollWidth?我已經嘗試將頭div的溢出設置爲「隱藏」和「滾動」,但這沒有任何影響。

回答

0

Firefox似乎包含邊框寬度,Chrome沒有。我在Firefox中時不得不減去邊框寬度。哈克,但它的工作。

0

我回答計算器上一個類似的問題:Why scrollWidth doesn't work in this case in Firefox?

的問題是,火狐返回scrollWidth的clientWidth值,當溢出是可見的。

我發現Firefox的解決方法是將溢出設置爲隱藏,獲取正確的scrollWidth並將溢出恢復爲可見。鏈接中的更多細節和代碼。

相關問題