常见bug及其修复方法有以下几种

1、双外边距浮动bug

双外边距浮动bug在IE6及更低版本中常见。所谓双外边距浮动bug是指使任何浮动元素上的外边距加倍。(见下图)

只要将元素的display属性设置成inline就行了。因为元素时浮动的,所以将display属性设置为inline实际上不会影响显示方式。但是,这似乎会阻止Windows上的IE6及更低版本将所有外边距加倍。所以每当对具有水平外边距的元素浮动时,都应该很自然的将display属性设置为inline,以备外边距将来被加大

2、3像素文本偏移bug

Windows上IE5和IE6非常常见的bug是3像素的文本偏移bug.当文本与一个浮动元素相邻时,这个bug就会表现出来。例如,将一个元素向左浮动,并且不希望相邻段落中的文字围绕浮动元素。你可能会在段落上应用一个宽度等于浮动元素的宽度的外边距。

.myFloat{
float:left;
width:200px:
}
p{
margin-left:200px;
}

但这样做就会在文本和浮动元素之间莫名其妙出现一个3像素的间隙。一旦浮动元素停下来,3像素就会消失(如下图)。

解决方法是(1)设置一个小的高度并不会影响元素在这些流浪器中的实际尺寸;(2)将外边距重新设置为零;(3)在浮动元素上设置一个负的3像素右边距;

p{
height:1%;
margin-left:0
}
.myFloat{
margin-right:-3px;
}

如果浮动元素是图片时,还需要改变图像的外边距。

/*IE5.x在图像的左右都添加了3像素的间隙,所以需要改变图像的外边距*/
p{
heigth:1%;
margin-left:;
}
img.myFloat{
margin:0 -3px
} /*应用于IE6的样式表*/
p{
height:1%;
margin-left:;
}
img.myFloat{
margin:;
}

3、IE6的重复字符bug

所谓重复字符bug就是在某些情况下,一系列浮动元素的最后一个元素中的最后几个字符会在浮动元素下面重复出现。

当在一系列浮动的元素的第一个和最后一个元素之间有多个注释就会出现这个bug.前两个注释没有影响,但是后续的几个注释会导致两个字符重复出现。3个注释会导致两个字符重复,4个注释会导致4个字符重复,5个字符会导致6个字符重复。

避免这个bug的最容易、最安全的方法是从HTML代码中将注释删除掉。

4、IE6中的”藏猫猫“bug

出现这个bug的条件是:一个浮动元素后面跟着一些非浮动元素,然后是一个清理元素,所有这些元素都包含在一个设置了背景颜色或图像的父元素中。如果清理元素碰到了浮动元素,那么中间的非浮动元素看起来消失了,但其实隐藏到了父元素的背景颜色或图像后面,只有在刷新页面时才重新出现。

解决方法是避免清理元素与浮动元素接触。这里给出三种方法:(1)给容器元素应用特定的尺寸;(2)给容器指定行高;(3)将浮动元素和容器元素的position属性设置为relative;

5、相对容器中的绝对定位

这些bug的原因在于相对定位的元素没有获得IE/Win的内部hasLayout属性。因此,它们不创建新的定位上下文,所有绝对定位元素相对与视口进行定位。

解决方法是需要迫使相对定位的容器拥有布局。一种方法是在容器上显示地设置width和height。(在不知道容器的width和height情况下,或需要这些属性保持灵活的情况下使用。)

另一种方法是为容器设置一个小的高度不影响实际高度。

.container{
height:1%;
}

常见浏览器bug(针对IE6及更低版本)及其修复方法的更多相关文章

  1. SQL Server 2000 sp2 及更低版本不受此版本的 Windows 支持

    SQL Server 2000 sp2 及更低版本不受此版本的 Windows 支持.在安装了 SQL Server 2000 之后请应用 sp3. 出现这种现象的原因在于:Windows Serve ...

  2. 不知还有人遇到这个问题没有:数据库 'xxx' 的版本为 706,无法打开。此服务器支持 661 版及更低版本。不支持降级路径。

    一般情况是要给数据库升级 但我一直在百度看看有没有不动低版本数据库的方法 终于...发现..可能别人发现,但我没查到的 我可以用一个更高版本的数据库打开,然后生成脚本,然后把脚本拿出来

  3. FIREDAC连接MSSQL 2000报不能支持连接MSSQL2000及更低版本的解决办法

    FIREDAC连接MSSQL 2000的时候会报错,原因是MSSQL CLIENT11或MSSQL CLIENT10客户端驱动程序已经不支持连接MSSQL2000及更低版本的数据库. 解决办法: 设置 ...

  4. C# 当前 .NET SDK 不支持将 .NET Core 2.1 设置为目标。请将 .NET Core 2.0 或更低版本设置为目标,或使用支持 .NET Core 2.1 的 .NET SDK 版本。

    报错信息: 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 NETSDK1045 当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标.请将 .NET Core 2.1 或 ...

  5. HTML5中的语义标签兼容IE8以及更低版本的浏览器

    看某教程,说让HTML5的这些语义标签能够兼容低版本的浏览器,原文是“你可以设置css的display属性为block”.很好理解,就设置css样式为block嘛,那就直接设置咯: header, s ...

  6. 常见浏览器bug以及解决方法

    1.图片下方3像素: (1).描述:在div中插入图片时,图片会将div下方撑大三像素. (2).hack1:将</div>与<img>写在一行上(可以解决ie6/7): (3 ...

  7. 判断IE浏览器的类型以及提示信息(低版本浏览器不予显示)

    //浏览器IE版本判断(function(window) {    var theUA = window.navigator.userAgent.toLowerCase();    if ((theU ...

  8. 当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标。请将 .NET Core 2.1 或更低版本设置

    场景重现 Windows 10 操作系统 (64-bit) 已经安装 .NET Core SDKs 如下: C:\Users\taadis>dotnet --list-sdks 2.1.202 ...

  9. 【Core】当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标。请将 .NET Core 2.1 或更低版本设置

    问题起因: 新的电脑,打开core2.2的项目时,因为没有安装2.2 sdk,项目编译失败 所以在选择目标框架下拉框选择安装其他目标框架 会跳转到官网下载sdk:https://dotnet.micr ...

随机推荐

  1. yii2使用 db log

    在本地测试的时候,输出log,还是输出到db中比较顺手. 配置过程: 1.加入log组件的配置: 'log' =>[ # 追踪级别 # 消息跟踪级别 # 在开发的时候,通常希望看到每个日志消息来 ...

  2. 【Unity3D】使用MD5值,确保本地Sqlite数据库内容没有被篡改

    Sqlite的应用场景 在判断是否使用存储格式为Sqlite模式的标准,我们的标准是内容只读.也就是说,除非发布者修改Sqlite内容,玩家只有读取的权限. 换个角度说,Sqlite里面的数据都是游戏 ...

  3. url get与post 请求长度限制

    零.总结 文章数据来源于网络,可能存在变动,但是原理是一样的. HTTP 协议 未规定 GET 和POST的长度限制 GET的最大长度显示是因为 浏览器和 web服务器限制了 URI的长度 不同的浏览 ...

  4. 2 安装企业wiki:confluence

    jira sudo /etc/init.d/jira start 启动 jiarsudo /etc/init.d/jira stop 停止 jiar 方法一:$ sudo /etc/init.d/co ...

  5. LookupEdit已选过后如何删除值使其空白

    属性Properties 的AllowNullInput 设置为True,就可以删除了. 当选择值后,按下control+delete就可以变为空白

  6. oracle同一个库上面,不同用户相互赋予权限

    用法: 有两个用户:user1和user2,都是在库TEST上,分别有表user1.table1,user2.table2 但是用user1登录的时候,user2上表就不能用,此时就可以使用grant ...

  7. java中内存泄露和内存溢出

    内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory:比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出. ...

  8. Web安全学习笔记之Nmap命令参考指南

    最近研究Nmap,命令太多,详细还是需要参考官方文档(可选中文) 本文转载 在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型.物理端口指的是物理存在的端口,如ADSL Modem.集线器. ...

  9. Myeclipse中java项目转换为Web项目

    https://blog.csdn.net/u010097777/article/details/51281059 这两天工作安排做一个跳转页面,不过昨天发布自己的Tomact花了不少时间,给的项目添 ...

  10. Oracle SQL Developer 编辑区不能删除,后退,空格,复制粘贴等功能都失效的解决办法

    Oracle SQL Developer 编辑区不能删除,后退,空格,复制粘贴等功能都失效的解决办法 解决: 打开菜单并选择Tools-prefrence-Accelerators-Load Pres ...