最近感覺很忙,又有點閑時間來更新博客。折騰著折騰著發現一個小問題:在主題制作或者修改中一些元素要設置 為隨頁面滾動的效果,通常的做法是加上fixed屬性,或者干脆用js實現這個功能。
不過對于懶得去后臺更新js文件的同學來說,這不是個好辦法,或者對于還未引入js的同學,這更不是好辦法。但是不用的話在IE6下會無效,這個經典到目前訪問量的半數以上的瀏覽器版本是直接無視fixed的(當然還有其他若干問題,所以希望更新或扔掉該瀏覽器)。
關于這個問題的解決辦法,我之前的做法一直是用_position:absolute來暫時修訂,當然這么做產生的效果和想象中的差距很大。最近發 現一個方法來修正IE6的fixed效果,如下:
_top:expression(documentElement.scrollTop + 數值 + "px")
也是一個簡單的hack,對于不想引入JS又迫切希望使用fixed屬性的人來說,確實是個好辦法。
More:
Q:有時候好像使用document.body.scrollTop來獲取滾動條滾動的長度,結果滾動后得到的也是0,為什么改用 document.documentElement.scrollTop就可以了?
A:可以查看一下源代碼,如果沒有
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""
這一句那么可以用document.body.scrollTop,否則只能用 document.documentElement.scrollTop。 原因:在標準w3c下,document.body.scrollTop恒為0,需要用 document.documentElement.scrollTop來代替;document.documentElement.scrollTop 中documentElement 對應的是 html 標簽;document.body.scrollTop 中 body 對應的是 body 標簽。