讓IE6支持fixed的捷徑
本文和大家重點討論一下讓IE6支持fixed的簡單方法,在主題制作或者修改中一些元素要設置為隨頁面滾動的效果,通常的做法是加上fixed屬性,或者干脆用js實現這個功能。
讓IE6支持fixed的簡單方法
最近發現一個小問題:在主題制作或者修改中一些元素要設置為隨頁面滾動的效果,通常的做法是加上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:可以查看一下源代碼,如果沒有
- <!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對應的是html標簽;document.body.scrollTop中body對應的是body標簽。
【編輯推薦】
- hover在IE6下的問題及解決方法
- 探究IE8與IE7具體功能中窗口功能按鈕的變化
- IE6 IE7 IE8三個版本的CSS兼容速查手冊
- IE6下使用CSS定義DIV高度行之有效的辦法
- 技術前沿 一段JS代碼輕松解決IE6-IE8的兼容性問題