我已經做了一個小書籤,除其他外,在「popup」div中加載一個表單。我重新設置了我創建的每個元素上人類已知的每個CSS標籤,並且據我所知可以用firebug來檢查它,但沒有CSS標籤是「通過滲透」。然而,在某些頁時,輸入寬度包括其填充:爲什麼'填充'有時會在元素寬度內計數,有時不是?
input.clientWidth = input.style.width
其他頁面上,輸入寬度不不包括填充:
input.clientWidth = input.style.width + input.style.paddingLeft + input.style.paddingRight
這樣,這裏是一個小的代碼片段:
input.style.width = '300px';
input.style.border = '1px solid grey';
input.style.padding = '20px';
alert(input.clientWidth);
在某些頁面上,這提醒298(300 - 的1px寬的邊框),以及在其他頁面此提醒338(300 - 的1px寬的邊框+ 20 + 20)。這是什麼原因?更重要的是,我能做些什麼來獲得一致的行爲?
編輯:
這一切都是在同一個瀏覽器 - 火狐3.6.8
謝謝!這是問題(雖然它與IE無關)。假設我希望在所有這些頁面中保持一致,那麼我需要檢查哪些不同的兼容模式? – Mala 2010-08-11 17:25:17
這些是唯一的兩種模式AFAIK。 – 2010-08-11 17:26:23
非常感謝。我有點驚訝地注意到,amazon.com使用BackCompat! – Mala 2010-08-11 17:29:23