IE6,IE7中定位相关的怪异问题

来源:Gulu77 时间:2009-12-08 12:49:00 

事物绝非十全十美总有强差人意的一面,之前针对浮动分析了其引起文本重影的怪异问题,而作为浮动布局的最佳搭档定位布局也存在一定的缺陷。

围绕着定位列出的种种问题,对某些情况只是作出了分析而暂时没有找到有解决方案,但既然知道问题所在,我们可以尽可能的采取其它措施避免这现象。


  1. position:relative;属性值导致overflow:hidden;失效。


    问题:在IE6/7中子级设置position:relative;属性值后,导致父级的overflow:hidden;失效。
    演示地址:position_demo1.html

  2. 分析:与定位的层级关系有关,IE6/7解析为内容已经跳出文档流,以致父级误以为没有包含内容。

    解决方案:
    对于IE6可以为父级添加定位属性纠正问题,但IE7依然无效。

  3. overflow充当了position:relative的角色


    问题:在IE6或IE quirks模式中设定overflow:auto/hidden/scroll属性值后,元素显示效果相当于position:relative的相对定位效果。
    演示地址:position_demo2.html 

    分析:在怪异模式与标准模式下的页面对CSS的解析会有一定的差异甚至是扭曲了其属性的作用,对这现象暂时还没有冲破的能力,也只能记录与回避了。

  4. 没有实渲染导致绝对定位的错误


    问题:在IE6中,子级元素绝对定位于父级元素时,当动态改变父级宽高时,子级位置没有发生变化。
    演示地址:position_demo3.html

    分析:估计是动态改变父级宽度时,IE6并没有实时对浏览器渲染。暂时没有CSS能解决这问题,但可尝试使用JS对改变改模块高度进行刷新解决这问题。

  5. IE6中position:relative;属性值无效


    问题:在IE6及以下版本,父级元素已设置position:relative;属性值,但子级绝对定位元素没有生效。
    演示地址:position_demo4.html

    分析:原因在于父级元素没有触发haslayout(相关资料请搜索On having layout),IE7及以上的高级浏览器则不存在这问题。

    解决方案:
    在父级元素中添加让其触发haslayout的CSS属性值。

  6. 奇数引起定位的1pxBUG


    问题:在IE6及以下版本,父级元素宽度高度为奇数时,子级元素绝对定位于(right:0;bottom:0;),会出现往内偏移1px的错误。
    演示地址:position_demo5.html

    分析:其真正原因还得问IE6的开发者了。但从例子中可以观察到左上角的子级元素显示正常,其原因为“盒子”拉伸扩展为上至下左至右,估计于此以至靠左边或顶部的位置不会发生移动的变化。

标签:定位,ie,bug,css
0
投稿

猜你喜欢

  • SQLserver 数据库危险存储过程删除与恢复方法

    2011-09-30 11:33:54
  • SQL点滴24 监测表的变化

    2011-09-30 11:38:41
  • pandas to_excel 添加颜色操作

    2021-07-19 19:49:57
  • Python数据分析matplotlib设置多个子图的间距方法

    2021-03-16 01:08:29
  • MySQL应用技巧之内存使用线程独享

    2010-08-08 08:33:00
  • Python接口自动化浅析数据驱动原理

    2022-02-22 21:52:01
  • python调用api实例讲解

    2023-09-16 02:32:33
  • 解读pandas.DataFrame.corrwith

    2023-10-17 13:22:09
  • 也说说语义

    2009-12-29 13:04:00
  • Golang协程池gopool设计与实现

    2024-05-28 15:23:01
  • Access:数据转换问题

    2008-11-20 17:02:00
  • 基于python+selenium的二次封装的实现

    2023-02-19 04:47:16
  • Python面向对象之类和对象属性的增删改查操作示例

    2021-11-06 14:20:40
  • 一文详解Go语言fmt标准库的常用占位符使用

    2023-08-07 01:57:56
  • python3实现Dijkstra算法最短路径的实现

    2023-10-14 13:17:40
  • Pytorch中TensorBoard及torchsummary的使用详解

    2023-10-14 11:22:36
  • ie和火狐兼容问题

    2010-07-02 12:50:00
  • MySql数据库备份的几种方式

    2024-01-17 03:15:05
  • MySQL系列之十 MySQL事务隔离实现并发控制

    2024-01-25 20:57:35
  • Golang 使用map需要注意的几个点

    2024-04-30 10:06:19
  • asp之家 网络编程 m.aspxhome.com