兼容ie6的fixed布局(非js、expression)

左手 posted @ 2013年6月17日 18:40 in 前端开发 with tags ie6 fixed ie6 fixed兼容 ie6不支持fixed , 1257 阅读

时代的脚本向前,ie6也快走出历史舞台了,只是现在还折腾着某些人(仰天长笑三声 哈!哈!哈!)。分享一个兼容fixed的小方法,传统的js侦听scroll事件以及expression的方法页面经常出现卡顿,用了一个取巧的方案来实现类似fixed的效果。直接上代码:

<!DOCTYPE html>
<html>
<!--[if lt IE 7]> <html class="ie6"> <![endif]-->
<!--[if IE 7]> <html class="ie7"> <![endif]-->
<!--[if IE 8]> <html class="ie8"> <![endif]-->
<!--[if gte IE 9]> <html class="ie9"> <![endif]-->
<head>
  <meta charset="UTF-8">
  <title></title>
  <style type="text/css">
    html, body {
      padding: 0;
      margin: 0;
    }
    .ie6, .ie6 body {
      height: 100%;
      overflow-y: hidden;
    }
    .ie6 .contentWrap {
      overflow-y: auto;
      width: 100%;
      height: 100%;
    }
    .popLayer {
      width: 400px;
      height: 400px;
      position: fixed;
      top: 50%;
      left: 50%;
      margin-top: -200px;
      margin-left: -200px;
      background-color: #F0F0F0;
      border: 1px solid #DDD;
    }
    .ie6 .popLayer {
      position: absolute;
    }
  </style>
</head>
<body>
  <!--[if lt IE 7]><div id="contentWrap" class="contentWrap"><![endif]-->
  <p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p><p>这是一行文字</p>
  <!--[if lt IE 7]></div><![endif]-->
  <div id="popLayer" class="popLayer">
    <p>这是弹出层的内容</p>
    <button onclick="document.getElementById('popLayer').style.display='none';">关闭弹出层</button>
  </div>
</body>
</html>

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter