讓IE6支持fixed的捷徑
本文和大家重點討論一下讓IE6支持fixed的簡單方法,在主題制作或者修改中一些元素要設(shè)置為隨頁面滾動的效果,通常的做法是加上fixed屬性,或者干脆用js實現(xiàn)這個功能。
讓IE6支持fixed的簡單方法
最近發(fā)現(xiàn)一個小問題:在主題制作或者修改中一些元素要設(shè)置為隨頁面滾動的效果,通常的做法是加上fixed屬性,或者干脆用js實現(xiàn)這個功能。
不過對于懶得去后臺更新js文件的同學(xué)來說,這不是個好辦法,或者對于還未引入js的同學(xué),這更不是好辦法。但是不用的話在IE6下會無效,這個經(jīng)典到目前訪問量的半數(shù)以上的瀏覽器版本是直接無視fixed的(當然還有其他若干問題,所以希望更新或扔掉該瀏覽器)。
關(guān)于這個問題的解決辦法,我之前的做法一直是用_position:absolute來暫時修訂,當然這么做產(chǎn)生的效果和想象中的差距很大。最近發(fā)現(xiàn)一個方法來修正IE6的fixed效果,如下:
- _top:expression(documentElement.scrollTop+數(shù)值+"px")
也是一個簡單的hack,對于不想引入JS又迫切希望使用fixed屬性的人來說,確實是個好辦法。
More:
Q:有時候好像使用document.body.scrollTop來獲取滾動條滾動的長度,結(jié)果滾動后得到的也是0,為什么改用document.documentElement.scrollTop就可以了?
A:可以查看一下源代碼,如果沒有
- <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
這一句那么可以用document.body.scrollTop,否則只能用document.documentElement.scrollTop。
原因:在標準w3c下,document.body.scrollTop恒為0,需要用document.documentElement.scrollTop來代替;document.documentElement.scrollTop中documentElement對應(yīng)的是html標簽;document.body.scrollTop中body對應(yīng)的是body標簽。
【編輯推薦】
- hover在IE6下的問題及解決方法
- 探究IE8與IE7具體功能中窗口功能按鈕的變化
- IE6 IE7 IE8三個版本的CSS兼容速查手冊
- IE6下使用CSS定義DIV高度行之有效的辦法
- 技術(shù)前沿 一段JS代碼輕松解決IE6-IE8的兼容性問題


















