IE常见bug及其修复方法

    一、双边距浮动的bug

1.1一段无错的代码把一个居左浮动(float:left)的元素放置进一个容器盒(box)

2.1在浮动元素上使用了左边界(margin-left)来令它和容器的左边产生一段距离

在ie6或更低版本中产生双倍外边距

修复方法 在浮动元素上添加display:inline属性即可

    二、3像素文本偏移bug

2.1 一段文本与浮动元素相邻的时候,会出现图文环绕,为了不让其文本环绕左边floatBox浮动盒子,我们设置段落外左边距margin-left为floatBox浮动盒子宽度

<div class="wrapper">
     <span class="floatBox"></span>
     <p>When people ask me for advice on blogging, I always respond with yet another form of the same advice: pick a schedule you can live with, and stick to it.      Until you do that, none of the other advice I could give you will matter. I don’t care if you suck at writing. I don’t care if nobody reads your blog.       I don’t care if you have nothing interesting to say. If you can demonstrate a willingness to write, and a desire to keep continually improving your writing,      you will eventually be successful.</p>
</div>
.wrapper {
    width: 600px;
    border: solid deeppink 5px;
}
.wrapper p {
    margin:0 0 0 100px; /*不让段落环绕floatBox*/
}
.floatBox {
    background-color: greenyellow;
    float: left;
    width: 100px;
    height: 100px;
    display: inline;
    margin-right: -3px;
}  

效果

ie6或更低版本浏览器下产生段落文本与浮动元素间3像素bug

修复方法 为浮动层添加 display:inline 和 -3px 负值margin

    三、ie6 最小高度min-height不识别bug

第一种方法 修复方法

.demo {
	min-height: 100px;
	height: auto !important;/*现代浏览器下,内容高度超过100px时自动获得其高度*/
	height: 100px;/*此值设置和min-height值一样,因为IE6下元素高度会根据内容自己的高度而定,
                      所以内容高度低于min-height值时,为了达到min-height效果,需要给元素一个显式的高度值*/
}

第二种 采用子选择器方法来修复方法  IE6是不支持子选择器的,所以我们也可以使用这个方式来解决min-height在IE6下效果

.demo {
	  min-height: 100px;
	  height: 100px;
       }
html>body .demo {
      height: auto;/*只有现代浏览器才能识别*/
}

    四、浮动层错位

当内容超出外包容器定义的宽度时会导致浮动层错位问题。在 Firefox、IE7、IE8 及其他标准浏览 器里,超出的内容仅仅只是超出边缘;但在 IE6 中容器会忽 视定义的 width 值,宽度会错误地随内 容宽度增长而增长。如果在这个浮动元素之后还跟着一个 浮动元素,那么就会导致错位问题

<div id="container">
	<div id="left">http://net.tutsplus.com/</div>
	<div id="right"></div>
</div>
#container{
    background: #C2DFEF;
    border: solid 1px #36F;
    width: 365px;
    margin: 30px;
    padding: 5px;
    overflow: auto;
}
#left,#right{
	background: #95CFEF;
	border: solid 1px #36F;
	width: 100px;
	height: 150px;
	margin: 30px;
	padding: 10px;
	float: left;
}  

效果

修复方法 在浮动元素上添加 overflow:hidden 即可

#left { overflow: hidden; }

    五、IE6调整窗口大小的 Bug

当把body居中放置,改变IE浏览器大小的时候,任何在body里面的相对定位元素都会固定不动了。解决办法:给body定义 position:relative;就行了

  

【资料参考】

http://liuyu405.iteye.com/blog/478269

http://www.w3cplus.com/css/ten-most-common-ie-bugs-and-how-to-fix-them-part-3

http://www.w3cplus.com/ten-most-common-ie-bugs-and-how-to-fix-them-part-2

http://www.w3cplus.com/css/ten-most-common-ie-bugs-and-how-to-fix-them-part-1

时间: 2024-12-28 08:54:20

IE常见bug及其修复方法的相关文章

Android 5.0原生bug及修复方法

Android 5.0已经来了,这个版本改动非常大,也意味着会有更多的bug隐藏在其中,我会在这篇文章中一直更新自己遇到的原生bug及修复方法. 1.bug1 现象:5.0中ActivityManagerService.keyguardWaitingForActivityDrawn ()接口替换了4.4中ActivityManagerService.dismissKeyguardOnNextActivity()接口,但是带来了一个显示bug,现象是keyguard隐藏后activity窗口还没显

验证码的三个常见漏洞和修复方法

把验证码存储在Cookie中 一般来说,我们会把验证码的值用Session存储起来,通过对比用户提交的验证码和Session中的验证码,就可以知道输入是否正确.由于Session会占用服务器资源,我曾经想过是否可以把验证码的值加密后存储在Cookie中.不过事实证明,这只是异想天开罢了. 假设验证码的值是a,通过sha1加密后得到的值为b = sha1(a),并且把b存储在Cookie中.而用户提交的验证码值为c,通过判断sha1(c)是否与b相等,可以知道输入的验证码是否正确.然而,Cooki

Linux常见故障及修复方法

一:MBR扇区故障修复 [[email protected]~]#mkdir  /backup [[email protected]~]#mount  /dev/sdb1  /backup /    ##新建个硬盘分区,并挂载到新建文件夹内 [[email protected]~]#dd if=/dev/sda of=/backup/sda.mbr.bak bs=512 count=1  ##备份MBR扇区512字节 [[email protected]~]#dd if=/dev/zero of

DX10引擎计划——应用(《是男人就点100下》演示Demo、粘连BUG的修复方法)

今天利用之前写好的物理系统,稍作修改,把<是男人就点100下>写了出来.(可见引擎普适性还是有待提高) 百度云链接: http://pan.baidu.com/s/1mgN0vk0 在写这个游戏的过程中发现,不解决粘连BUG就没法进行下去,于是跟踪球碰撞后的速度变量,发现了问题: 是下面这段代码的问题: 运行到这里以后就出现了问题,当物体运行速度极小时,但是又不小于设置的“最小速度阀”,这时候就有事了.这段代码本意是,如果物体运动速度与碰撞法线同向,就不符合发起方条件,直接退出:如果垂直于法线

RAID磁盘阵列常见故障以及修复方法

服务器数据安全有着至关重要的意义,目前大多数服务器都采用了RAID磁盘阵列技术.受服务器自身硬件局限和技术人员的操作因素,服务器无阵列无法做到100%的无故障发生.那么RAID磁盘阵列故障有哪些?RAID磁盘阵列如何进行数据恢复? 导致磁盘阵列RAID数据丢失的故障原因分为RAID逻辑层故障,RAID物理层故障以及RAID坏道层故障. 对于逻辑层故障,例如误删除,误格式化,误分区,RAID阵列信息丢失, RAID阵列信息混乱, 重新配置RAID阵列信息导致数据丢失, RAID阵列内磁盘顺序出错等

常见浏览器bug(针对IE6及更低版本)及其修复方法

常见bug及其修复方法有以下几种 1.双外边距浮动bug 双外边距浮动bug在IE6及更低版本中常见.所谓双外边距浮动bug是指使任何浮动元素上的外边距加倍.(见下图) 只要将元素的display属性设置成inline就行了.因为元素时浮动的,所以将display属性设置为inline实际上不会影响显示方式.但是,这似乎会阻止Windows上的IE6及更低版本将所有外边距加倍.所以每当对具有水平外边距的元素浮动时,都应该很自然的将display属性设置为inline,以备外边距将来被加大. 2.

浏览器bug和修复

与许多编程语言相比,CSS是一种相当容易学习的语言,它的语法简单明了,而且由于它的表现本质,开发人员并不需要处理复杂的逻辑.但是在不同的浏览器上测试代码才是真正困难的开始,你的设计在一种浏览器上表现的良好,但是在另外一个浏览器上就会变得“支离破碎”. “CSS难以掌握”的误解并非来自于语言本身,而是由于为了让站点在所有主流浏览器上工作正常需要采取很多的措施.关于bug的信息很难找到,缺乏文档记录,因此bug常常被误解.许多人把招数看做魔法子弹,认为它们就像神秘的咒语一样,当应用在代码中时,就会神

浏览器bug和修复2

拥有布局 Window IE上的bug要比其他浏览器多,原因之一是,IE的显示引擎使用一个称为布局(layout)的内部概念.因为布局是专门针对显示引擎内部工作方式的概念,所以一般情况下不需要了解它,但是,布局问题是许多IE/Win显示bug的根源,所以理解这个概念以及它如何影响CSS是有帮助的. 什么是布局 Windows上的IE使用布局概念来控制元素的尺寸和定位.那些称为拥有布局(have layout)的元素负责本身及其子元素的尺寸和定位.如果一个元素没有拥有布局,那么它的尺寸和位置由最近

jquery的clone方法bug的修复

测试发现,textarea和select的jquery的clone方法有问题,textarea和select的值clone的时候会丢掉,发现这个是jquery的一个bug,上不了的可以看下代码,比较简单.就是在clone的时候将val再重新赋值一下,如果知道这个了,就简单了自己写. 引入到你要用的clone的页面就ok jquery.fix.clone.js (function (original) {  jQuery.fn.clone = function () {    var result