IE6/7在滚动区域内的标签使用position会飘出这个滚动区域不随滚动条滚动

yizhihongxing

问题描述

在IE6/7浏览器中,当在滚动区域内使用css属性 position: absoluteposition: fixed 的元素时,该元素会出现跑出滚动区域的情况,具体表现为该元素不会随着滚动条的滚动而滚动,而是固定在页面顶部或左侧。

解决方案

在IE6/7浏览器中,使用 zoom:1position: relative 的结合解决该问题。

示例一:

HTML结构:

<div style="height: 200px; overflow: auto;">
  <div style="height: 300px; background-color: #f0f0f0;">
    <div style="position: absolute; top: 50px; left: 50px; width: 100px; height: 100px; background-color: red;"></div>
  </div>
</div>

CSS样式:

div {
  zoom: 1;
  position: relative;
}

在上面的示例中,父级元素 div 的样式设置为 zoom: 1; position: relative; 时,子元素 div 的定位就会受到父级元素的影响,解决了元素跑出滚动区域的问题。

示例二:

HTML结构:

<div style="height: 200px; overflow: auto;">
  <div style="height: 300px; background-color: #f0f0f0;">
    <div style="position: fixed; top: 50px; left: 50px; width: 100px; height: 100px; background-color: red;"></div>
  </div>
</div>

CSS样式:

div {
  zoom: 1;
  position: relative;
}

div div {
  position: absolute;
  top: expression(eval(document.documentElement.scrollTop) + 50);
  left: expression(eval(document.documentElement.scrollLeft) + 50);
}

上面的示例中,子元素 div 的样式设置为 position: absolute; top: expression(eval(document.documentElement.scrollTop) + 50); left: expression(eval(document.documentElement.scrollLeft) + 50);,通过javascript表达式,实现让子元素 div 的位置跟随页面滚动而滚动。

注意事项

  1. 在IE6下,zoom 属性可以触发 hasLayout,让元素拥有独立的渲染区域,解决元素高度塌陷等问题。

  2. 在IE6/7下,定位元素使用了 position: absoluteposition: fixed,需要设置 zoom 和 position:relative。

  3. 在IE6/7下,用 expression 表达式使元素在滚动时发生位移,要跟 position:absolute 一起使用。

  4. 在IE8+和其他大部分现代浏览器中不需要使用这种解决方案,元素定位与滚动互不影响。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:IE6/7在滚动区域内的标签使用position会飘出这个滚动区域不随滚动条滚动 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • CSS网页制作教程:浏览器与CSS选择器对应表

    CSS网页制作教程:浏览器与CSS选择器对应表是一篇介绍CSS选择器以及它们在不同浏览器中对应效果的文章。这篇文章主要目的是帮助用户了解CSS选择器,并且对于每个选择器列出了它们在各个浏览器中的表现。 以下是攻略: 概述 选择器能够帮助我们在页面中选择特定的HTML元素来对它们应用CSS样式。这篇文章会介绍常见的选择器,以及它们在不同浏览器中的效果。 ID选…

    css 2023年6月9日
    00
  • 学习Bootstrap滚动监听 附调用方法

    学习Bootstrap滚动监听可以让网站更加优秀,因为它可以为网站添加动态效果。本文将介绍什么是Bootstrap滚动监听,如何使用Bootstrap实现滚动监听,并附有实际的调用方法。具体内容如下: 一. 什么是Bootstrap滚动监听 Bootstrap滚动监听是指可以监听用户滚动网页的操作,从而根据滚动位置来实现不同的效果。比如,可以设置当用户向下滚…

    css 2023年6月10日
    00
  • LayUI下拉树TreeSelect的使用解读

    在这里我会给大家讲解 “LayUI下拉树TreeSelect的使用解读”,并提供两个示例供大家参考。 1. 简介 LayUI 是一款基于 HTML5 和 CSS3 的前端 UI 框架,它本身提供了许多实用的组件,其中之一就是 TreeSelect,它是一种可以提供下拉树选择功能的组件。 通过 TreeSelect 组件,我们可以方便地实现下拉树结构的选择功能…

    css 2023年6月9日
    00
  • ThinkPHP5 的简单搭建和使用详解

    ThinkPHP5 的简单搭建和使用详解 简介 ThinkPHP5是一款开源、快速、自由、简单的面向对象的轻量级PHP开发框架,采用了全新的架构和设计理念,符合PSR标准,核心功能包括路由、请求与响应、控制器、模型、视图等。 环境搭建 安装配置PHP环境(版本要求PHP 5.4 以上) 下载ThinkPHP5框架并解压到指定目录。 设置项目虚拟主机。 MVC…

    css 2023年6月9日
    00
  • 基于firebug的firefox扩展 css usage

    “基于firebug的firefox扩展 css usage”是一款非常实用的浏览器扩展,可以帮助网页设计者更好地了解和优化自己的 CSS 代码。下面详细介绍如何使用这一扩展。 步骤1:安装扩展 首先,我们需要在 Firefox 网站上下载安装“CSS Usage”扩展。然后,在 Firefox 页面中选择“附加组件”菜单,并找到“CSS Usage”扩展。…

    css 2023年6月10日
    00
  • 网页中图片应用CSS的滤镜的效果

    网页中图片应用 CSS 的滤镜效果是一种常见的网页美化技术,它可以通过添加 CSS 的滤镜样式来改变图片的展示效果,比如调整图片的色相、饱和度、亮度、对比度等。 下面是应用 CSS 的滤镜效果的完整攻略: 步骤1:准备图片素材 首先,需要准备一张需要应用滤镜效果的图片素材。可以从网络素材库、自己的照片库中选择合适的图片素材。 步骤2:创建网页和导入图片 接着…

    css 2023年6月9日
    00
  • 移动开发之自适应手机屏幕宽度

    移动开发之自适应手机屏幕宽度 在移动开发中,适配不同屏幕尺寸是一个常见的问题。其中,自适应布局是一种经典的解决方案,可以适配不同大小的设备,提高用户体验。下面是自适应手机屏幕宽度的完整攻略: 1. 使用viewport设置屏幕宽度 Viewport是指“视窗”,指的是​​用户实际看到的网页区域。在移动设备上,viewport的宽度与屏幕的宽度有关系。因此,我…

    css 2023年6月10日
    00
  • 轻松搞懂CSS浮动与清除浮动图文详解

    轻松搞懂CSS浮动与清除浮动图文详解 1. 什么是浮动 CSS中的浮动(float),顾名思义就是使元素在文档中根据左右方向的要求浮动。使用浮动可以实现多栏布局,图文混排等效果。 2. 如何设置浮动 使用CSS的float属性可以让元素进行浮动,具体语法如下: float: none | left | right; 其中none代表取消浮动,left代表向左…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部