對於 ie6 不支持 position:fixed,我們通常會利用 css 的 expression 方式來解決。下面我將介紹另外種方法,沒有 expression,有的只是一些 css hack。
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>css解決ie6下position:fixed失效</title> <link rel="stylesheet" type="text/css" href="css/base.css" media="all"/> <style type="text/css"> .wrapper{width:960px;margin-left:auto;margin-right:auto;} p{margin:10px;line-height:30px;} /*解決ie6下position:fixed失效*/ *html,*body{height:100%;overflow-x:hidden;overflow-y:auto;} .container{position:relative;width:100%;height:100%;overflow:auto;} .box{position:fixed;left:150px;top:150px;background:red;width:100px;height:100px;} *html .box{position:absolute;} </style> </head> <body> <div class="container"> <div class="wrapper"> <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p> <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p> <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p> <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p> <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p> <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p> <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p> <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p> <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p> <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p> <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p> <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p> <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p> <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p> <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p> <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p> <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p> <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p> <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p> <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p> <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p> <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p> <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p> <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p> <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p> <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p> <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p> <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p> <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p> <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p> <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p> <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p> <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p> <p>“記事本”是一個用來創建簡單的文檔的基本的文本編輯器。“記事本”最常用來查看或編輯文本 (.txt) 文件,但是許多用戶發現“記事本”是創建網頁的簡單工具。</p> <p>因為“記事本”僅支持很基本的格式,所以您不能在需要保持純文本的文檔中偶爾保存特殊格式。因為特殊字符或其他格式不能在所發布的網頁上顯示,否則可能導致錯誤,所以,在為網頁創建 HTML 文檔時它特別有用。</p> <p>可以將記事本文件保存為 Unicode、ANSI、UTF-8 或高位在前的 Unicode 格式。當使用不同字符集的文檔時,這些格式可以向您提供更大的靈活性。</p> </div> </div> <div class="box"></div> </body> </html>
測試瀏覽器:chrome,firefox,safari,ie8,ie7,ie6,opera
優點:
1、相對於強大的 css 表達式,代碼更少。
2、不需要懂 javascript。
缺點:
1、多了一層 .container 的 div。
2、css hack。
3、不能給 body 加背景,不然 ie6 下有問題,不過可以把 body 的背景加到 .container 的上面,其效果是一樣的。
總結:我想相對於優點來說,缺點可以忽略不計了吧。
PS:需要注意的是,我在頁面頭部引用了 base.css 來重置瀏覽器的默認樣式,如果不想加載的話,可以用 *{margin:0;padding:0;} 來代替。
原文地址:http://ryanfait.com/resources/fixed-positioning-in-internet-explorer/
