欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IE6瀏覽器不支持固定定位(position:fixed)解決方案

  發(fā)布時間:2012-12-04 10:54:05   作者:佚名   我要評論
有些朋友在進行網(wǎng)頁布局時,會遇到IE6瀏覽器不支持固定定位(position:fixed),本文將詳細介紹此問題的解決方法,需要了解的朋友可以參考下

  今天在學(xué)習的時候,突然發(fā)現(xiàn)在IE6瀏覽器下,position:fixed不管用了:

復(fù)制代碼
代碼如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
</head>
<body>
<div style="width:600px;height:2000px;background-color:#f90;">正常普通流元素</div>
<div style="position:fixed;bottom:10px;left:50px;width:400px;height:200px;background-color:#111;color:#fff;">position:fixed元素</div>
</body>
</html>

  上面的代碼在IE6中打開,效果如下

  而在其他瀏覽器(IE7+、firefox、opera、safari、chrome)下則正常顯示:

  經(jīng)過多次測試,原來不只在IE6下,在IE7、IE8瀏覽器下,若是文檔使用的是怪異(quirk)模式也會導(dǎo)致這個問題。這也難怪,當IE7、8使用怪異模式時,渲染引擎將以接近IE6的渲染模式來解析CSS。最后,我得出了以下結(jié)論:

   IE6、IE7(quirk模式)、IE8(quirk模式) 瀏覽器將 'position' 特性的 fixed 值當作錯誤值處理。從而導(dǎo)致使用固定定位的元素使用 'position' 的默認值 static。即這個元素在 此時 變成了普通流中的元素,這必然會導(dǎo)致布局錯位等問題。

  解決方案:   

  在 IE6、IE7(quirk模式)、IE8(quirk模式)中為固定定位元素設(shè)置 '_position:absolute',再通過 JavaScript 腳本或者 CSS Expression 動態(tài)設(shè)置其偏移量,但是我發(fā)現(xiàn)只能實現(xiàn)在最底部和最頂部固定。要想設(shè)置具體的位置還需要配合_margin。

使元素固定在瀏覽器的頂部

復(fù)制代碼
代碼如下:

#top {
_position: absolute;
_bottom: auto;
_top: expression(eval(document.documentElement.scrollTop));
}

使元素固定在瀏覽器的底部

復(fù)制代碼
代碼如下:

#bottom {
_position: absolute;
_bottom: auto;
_top: expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)));
}

  這兩段代碼只能實現(xiàn)在最底部跟最頂部,你可以使用 _margin修改其中的數(shù)值控制元素的位置。

  看到這里,你一定以為已經(jīng)完事了。NO!還有bug:被固定定位的元素在滾動滾動條的時候會出現(xiàn)一閃一閃的情況。解決這個問題的辦法是在 CSS 文件中加入:

復(fù)制代碼
代碼如下:

* html{
background-image:url(about:blank);
background-attachment:fixed;
}

或者:

復(fù)制代碼
代碼如下:

body {
_background-attachment:fixed;
_background-image:url(about:blank);
}

  當然,也可以用吧javascript方法解決,不過有點大材小用:

復(fù)制代碼
代碼如下:

window.onresize = window.onscroll = function(){
//code
};

相關(guān)文章

  • 淺談原生頁面兼容IE9問題的解決方案

    這篇文章主要介紹了淺談原生頁面兼容IE9問題的解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起
    2020-12-16
  • 新版chrome瀏覽器設(shè)置允許跨域的實現(xiàn)

    這篇文章主要介紹了新版chrome瀏覽器設(shè)置允許跨域的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起
    2020-11-30
  • css hack之\9和\0就可能對hack IE11\IE9\IE8無效

    每次設(shè)計一張網(wǎng)頁或一個表單,都被各種瀏覽器的兼容問題傷透腦筋,尤其是IE家族。在做兼容性設(shè)計時,我們往往會使用各種瀏覽器能識別的獨特語法進行hack,從而達到各種瀏覽
    2020-03-20
  • css區(qū)分ie8/ie9/ie10/ie11 chrome firefox的代碼

    這篇文章主要介紹了css區(qū)分ie8/ie9/ie10/ie11 chrome firefox的代碼,需要的朋友可以參考下
    2020-03-20
  • 解決CSS瀏覽器兼容性問題的4種方案

    這篇文章主要介紹了解決CSS瀏覽器兼容性問題的4種方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)
    2020-02-28
  • 常見的瀏覽器兼容性問題(小結(jié))

    這篇文章主要介紹了常見的瀏覽器兼容性問題(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)
    2020-02-20
  • border-radius IE8兼容處理的方法

    這篇文章主要介紹了border-radius IE8兼容處理的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)
    2020-02-12
  • 淺談遇到的幾個瀏覽器兼容性問題

    這篇文章主要介紹了淺談遇到的幾個瀏覽器兼容性問題,詳細的介紹了幾種我遇到的問題和解決方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-26
  • base64圖片在各種瀏覽器的兼容性處理

    這篇文章主要介紹了base64圖片在各種瀏覽器的兼容性處理的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-14
  • 對常見的css屬性進行瀏覽器兼容性總結(jié)(推薦)

    這篇文章主要介紹了對常見的css屬性進行瀏覽器兼容性總結(jié)(推薦)的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-20

最新評論