我是FE,也是Fe

          前端來源于不斷的點(diǎn)滴積累。我一直在努力。

          統(tǒng)計(jì)

          留言簿(15)

          閱讀排行榜

          評(píng)論排行榜

          position:fixed在IE6下不起作用的修正原理以及實(shí)現(xiàn)

          position:fixed能可以是元素不隨滾動(dòng)條滾動(dòng)而滾動(dòng),固定在視口中,在網(wǎng)頁設(shè)計(jì)中這種效果經(jīng)常用到。通常不考慮IE6的代碼是:

          <body>
          <div id="" class="" style="position:fixed; right:20px; top:20px;border:solid 1px blue;">
          	fixed??
          </div>
          <div style="height:1000px;">mock page content<div>
          </body>

           

          主流的做法有兩種,一種使用expression表達(dá)式,在頁面滾動(dòng)時(shí)重新設(shè)計(jì)元素的top屬性:

          <body>
          <div id="" class="" style="position:fixed; right:20px; top:20px;border:solid 1px blue; _position:absolute;_top:expression(parseInt(document.documentElement.scrollTop,10)+20+'px');">
          	fixed??
          </div>
          <div style="height:1000px;">mock page content<div>
          </body>

          這種方法比較直接,但是每次滾動(dòng)都重新計(jì)算元素的位置很消耗性能,而且頁面比較復(fù)雜的時(shí)候,會(huì)出現(xiàn)“抖動(dòng)”的現(xiàn)象。

          另外一種方法當(dāng)你弄明白是才發(fā)現(xiàn)奇妙無窮,是否可以改變頁面的滾動(dòng)條滾動(dòng)的元素呢?滾動(dòng)條默認(rèn)滾動(dòng)的是body元素。如果滾動(dòng)的是一個(gè)div,而需要固定定位的元素并不在這個(gè)div中的話,自然就不會(huì)隨著滾動(dòng)條的滾動(dòng)而滾動(dòng)。

          <body>
          <style type="text/css">
          		html,body,#content{height:100%;overflow:auto;padding:0px;margin:0px;}
          		#fixed{position:fixed; right:20px; bottom:20px; border:solid 1px  blue;_position:absolute;}
          	</style>
          <div id="content" class="">
          	<div id="" class="" style="background-color:#ccc;height:1000px;">
          		mock page content
          	</div>
          </div>
          <div id="fixed" class="">
          	fixed content
          </div>
          </body>

          設(shè)置一個(gè)div與body等高等寬,將頁面內(nèi)容都放到這個(gè)div中。這樣頁面滾動(dòng)條其實(shí)是這個(gè)div的滾動(dòng)條。然后在body下放上position:fixed的元素。這樣就大功告成了。

          這基本是一個(gè)白話版的解決辦法了。基本是原理和簡單實(shí)現(xiàn),更多的細(xì)節(jié)可以參考:

          http://www.qianduan.net/fix-ie6-dont-support-position-fixed-bug.html

          posted on 2011-05-16 15:37 衡鋒 閱讀(2720) 評(píng)論(1)  編輯  收藏 所屬分類: Web開發(fā)

          評(píng)論

          # re: position:fixed在IE6下不起作用的修正原理以及實(shí)現(xiàn)[未登錄] 2012-08-28 14:04 vic

          人才啊! 偶像啊! 創(chuàng)意啊有木有!  回復(fù)  更多評(píng)論   

          主站蜘蛛池模板: 乐至县| 重庆市| 城口县| 增城市| 福清市| 时尚| 宜城市| 阿勒泰市| 达日县| 焦作市| 金秀| 达尔| 高阳县| 西吉县| 阿图什市| 芦山县| 惠来县| 赣榆县| 连南| 南宁市| 娄烦县| 广东省| 札达县| 夏邑县| 留坝县| 阿尔山市| 封开县| 通化市| 云梦县| 宜城市| 诸城市| 昌都县| 偏关县| 密山市| 松潘县| 钟山县| 加查县| 修武县| 闽侯县| 元江| 高要市|