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

问题描述

在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属性简写指的是在编写CSS样式时有一些常用的CSS属性可以缩写,并且这些缩写可以根据顺序处理属性。常用的CSS属性简写包括font,background,bo…

    css 2023年6月9日
    00
  • 利用jQuery实现可输入搜索文字的下拉框

    实现可输入搜索文字的下拉框是前端开发中常见的需求,下面我将分享一份利用jQuery实现该功能的攻略。 步骤一:编写HTML结构 首先,我们需要在HTML中定义一个搜索输入框和一个下拉框,具体的结构如下: <input id="search-input" type="text" placeholder="…

    css 2023年6月10日
    00
  • AngularJs表单验证实例代码解析

    我将为你详细讲解“AngularJs表单验证实例代码解析”的完整攻略。 1. 简述 表单验证是网站开发中重要的一环,可以方便地对用户输入的数据进行验证。AngularJS 提供了一套完善的表单验证机制,可以让我们轻松地对用户输入数据进行验证。 本文将会介绍如何在 AngularJS 中使用表单验证,并提供几个验证示例。 2. 基本使用 在 AngularJS…

    css 2023年6月9日
    00
  • 纯CSS实现网页内部锚点跳转时上下偏移的示例代码

    下面是“纯CSS实现网页内部锚点跳转时上下偏移的示例代码”的完整攻略: 一、需求分析 在网页内部进行跳转时,我们经常希望能够有一个辅助定位的功能,比如锚点跳转。但是,如果锚点存在于页面的中央,我们希望跳转后能够有一个上下位移的效果,来使页面的焦点更加精准,这就需要我们实现“网页内部锚点跳转时上下偏移”的功能。 二、解决方案 1. 使用margin负值 我们可…

    css 2023年6月10日
    00
  • js实现当鼠标移到表格上时显示这一格全部内容的代码

    下面是实现鼠标悬浮表格格子时显示全部内容的完整攻略。 1. 给每个格子绑定事件 首先,需要给每个表格格子绑定事件,可以使用addEventListener()方法来实现。示例代码如下: const tds = document.querySelectorAll(‘td’); for (let i = 0; i < tds.length; i++) { …

    css 2023年6月10日
    00
  • img图片下面莫名的出现下边距的快速解决方法推荐

    下面是针对“img图片下面莫名的出现下边距的快速解决方法推荐”的完整攻略: 问题背景 在网页设计过程中,我们常常使用img标签来插入图片。但是有时会发现图片下方会出现一个意料之外的下边距,使得整个页面看起来不够美观。 解决方法 方法1 第一种方法是使用CSS的display:block;属性。我们可以将img标签的display属性设置为block,这样它就…

    css 2023年6月9日
    00
  • jQuery实现div浮动层跟随页面滚动效果

    让我来为您详细讲解“jQuery实现div浮动层跟随页面滚动效果”的完整攻略: 1. 引入jQuery库 在页面中引入jQuery库,可以使用CDN或者下载后引入本地: <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script&gt…

    css 2023年6月10日
    00
  • 深圳字节跳动笔试(小结)

    深圳字节跳动笔试攻略 1. 题目类型和难度 在深圳字节跳动的笔试中,题目类型和难度较为广泛,涉及算法、数据结构、操作系统、计算机网络以及编程语言等方面的知识点。其中算法和数据结构是笔试的重点,占据了大部分的考点。难度方面,整体可以划分为易、中、难三个等级,每个等级的题目数量大致相同。 2. 切入点和备考建议 在备考深圳字节跳动的笔试时,可以从以下几个切入点进…

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