在页面上,常常使用 overflow 属性,来控制一个元素内容溢出时的处理方式。然而,在IE6和IE7中,当父元素设置了 overflow: auto 或 overflow: hidden,当子元素使用相对定位且高度大于父元素高度时,子元素就会溢出到父元素的外面。

假设页面上有两个元素,#outter 为父元素,#inner 为子元素:

  1. <div id="outter">
  2.     <div id="inner">当子元素的高度大于父元素高度时…</div>
  3. </div>

父元素设置了固定宽度和高度,并设置了 overflow: auto,让它在需要的时候出现滚动条。子元素也设置了固定宽度,并使用相对定位。为了方便查看效果,为父元素和子元素都设置了边框:

  1. #outter {
  2.     width: 200px;
  3.     height: 100px;
  4.     overflow: auto;
  5.     border: 1px solid #ccc;
  6. }
  7. #inner {
  8.     width: 100px;
  9.     position: relative;
  10.     border: 1px dashed #666;
  11. }

正常情况下,如果子元素中的内容超过了父元素的高度,则父元素会自动出现滚动条,并且隐藏溢出的内容。在现代浏览器中的运行结果如图 10‑14 所示:

图10-14 现代浏览器中的运行结果

而在 IE6 和 IE7 中,父元素也出现了滚动条,但是,子元素的内容却溢出到了父元素外面。运行结果如图 10‑15 所示:

图10-15 IE6中的运行效果

解决这个问题的方法很简单,只需为父元素设置 position: relative,让父元素也使用相对定位就可以了。

关于作者

歪脖先生,十五年以上软件开发经验,酷爱Web开发,精通 HTML、CSS、JavaScript、jQuery、JSON、Python、Less、Bootstrap等,著有《HTML宝典》、《揭秘CSS》、《Less简明教程》、《JSON教程》、《Bootstrap2用户指南》、《Bootstrap3实用教程》,并全部在 GitHub 上开源。

修复IE下相对定位子元素溢出Bug相关推荐

  1. Vue中v-for必须在vue实例对应元素下的子元素中循环渲染数据

    异常信息 Cannot use v-for on 1 stateful componentroot element because it renders multiple elements 翻译大意: ...

  2. [转载] js 下获取子元素的方法 -- 李富生

    地址:https://www.cnblogs.com/web-fusheng/p/6816440.html firstElementChild只会获取元素节点对象,从名称就可以看出来,firstChi ...

  3. js 下获取子元素的方法

    笔记核心: firstElementChild只会获取元素节点对象,从名称就可以看出来,firstChild则可以获取文本节点对象(当然也可以获取元素节点对象),比如空格和换行都被当做文本节点. js ...

  4. CSS垂直方向布局中,子元素溢出父元素,如何处理?

    默认情况下,父元素的高度是被子元素撑开的,若父元素设置了,就是设置多少就是多少 子元素是在父元素的内容区中排列的,如果子元素的大小超过了父元素,则子元素会从父元素中溢出, 使用overflow属性设置 ...

  5. jquery 同级元素下的子元素_jq 获取所有父级元素及同级元素及子元素的方法(推荐)...

    1.获取父级元素 $("#id").parent() 获取其父级元素 $("#id").parents() 获取其所有的祖先元素 $("#id&quo ...

  6. js 获取元素,同级元素下的子元素总结

    太原总结 不慌不慌,来日方长 ** 1.获取同级元素 form 下的 div 元素下的 input标签的value值 ** //html代码 <div id="replySubmit& ...

  7. 修复IE下列表 li 底部空行Bug

    在IE6及更低版本中,如果在 li 元素中包含 display: block 的元素时,li 元素之间的空格将会转换为一个空行,夹在每个 li 的中间. 假设使用上一节的HTML结构来制作垂直导航,为 ...

  8. CSS关于子元素溢出

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>< ...

  9. jq获取父元素下的子元素

    导入jq库 通过parent获取父元素 children获取子元素 $(".make-order").click(function(e) {var theli =$(this).p ...

最新文章

  1. 增强现实:一场正在到来的医疗革命
  2. 源文件的编码会对编译结果有影响
  3. 成功解决gensim\utils.py:1209: UserWarning: detected Windows; aliasing chunkize to chunkize_serial warn
  4. 天池 在线编程 高效作业处理服务(01背包DP)
  5. Alpha冲刺 - (4/10)
  6. 大数据之-Hadoop之HDFS_HDFS的优缺点---大数据之hadoop工作笔记0049
  7. linux 修改ssh密码_西部数码使用指南:弹性云linux系统通过控制台进入单用户重置ssh登陆密码(适用centos6)...
  8. IDEA合并SVN分支代码到主干
  9. 复旦大学智能感知与无人系统实验室诚聘海内外超级博士后/博士后
  10. 蜗牛星际NAS,通过ssh修改mac和sn
  11. 主题颜色提取 ——— Palette
  12. scala spark sql 获得分组后的分位点
  13. Win11预装软件怎么卸载?Win11如何精简预装应用程序
  14. 30个计算机相关的英语词汇,计算机应用常用英语词汇30
  15. [原创]-数据仓库ETL开发
  16. 学习笔记1 - ResNet网络学习
  17. 组图:1912年斯德哥尔摩奥运会
  18. Channel L 自然拼读法 Teacher:Lamb
  19. Spark SQL上海摩拜共享单车数据分析
  20. 空间计量 python_一文读懂空间计量入门之空间数据、权重矩阵、空间统计、空间模型等简介...

热门文章

  1. linux 基础学习入门 5 inode 总结 tr tee 等小命令
  2. 通过bash脚本分析zabbix数据库,实现服务器每日故障统计
  3. 山寨威武 仿冒Xoom先于行货获得Android 4.0升级
  4. 如何及时还原被删除的活动目录对象
  5. javascript读取用户名和计算机名
  6. 程序员的进阶课-架构师之路(10)-霍夫曼树
  7. 从文件夹内批量获取所有文件名 批处理脚本
  8. Linux CentOS 7 安装 Redis
  9. python调用rest api_调用rest api使用python将数据推送到运动学
  10. hid在linux上的轮训时间,linux 自定义hid速度优化