`

浏览器css bug及bug解决方法

    博客分类:
  • Css
 
阅读更多

Bugs及解决方案列表(以下实例默认运行环境都为Standard mode):

如何在IE6及更早浏览器中定义小高度的容器?

方法:

#test{overflow:hidden;height:1px;font-size:0;line-height:0;}
IE6及更早浏览器之所以无法直接定义较小高度的容器是因为默认会有行高

如何解决IE6及更早浏览器浮动时产生双倍边距的BUG?

方法:

#test{display:inline;}
当在IE6及更早浏览器中出现浮动后margin值解析为双倍的情况,设置该元素的display属性为inline即可。

如何在IE6及更早浏览器下模拟min-height效果?

方法:

#test{min-height:100px;_height:100px;}
注意此时#test不能再设置overflow的值为hidden,否则模拟min-height效果将失效

如何解决按钮在IE7及更早浏览器下随着value增多两边留白也随着增加的问题?

方法:

input,button{overflow:visible;}
如何解决IE7及更早浏览器下当li中出现2个或以上的浮动时,li之间产生的空白间隙的BUG?

方法:

li{vertical-align:top;}
除了top值,还可以设置为text-top | middle | bottom | text-bottom,甚至特定的和值都可以

如何解决IE6及更早浏览器下的3像素BUG?

方法:

.a{color:#f00;} .main{width:950px;background:#eee;} .content{float:left;width:750px;height:100px;background:#ccc;_margin-right:-3px;} .aside{height:100px;background:#aaa;}

content
aside

在IE6及更早浏览器下为.content设置margin-right:-3px;也可以设置.aside为浮动

如何解决IE6下的文本溢出BUG(江湖匪号:“谍影重重”或“一只猪的故事”)?

BUG重现:

.test{zoom:1;overflow:hidden;width:500px;} .box1{float:left;width:100px;} .box2{float:right;width:400px;}

 

 

↓这就是多出来的那只猪

运行如上代码,你会发现文字发生了溢出,在IE6下会多出一只“猪”。造成此BUG的原因可能是多重混合的,如浮动,注释,宽高定义等等。并且注释条数越多,溢出的文本也会随之增多。

列举几个解决方法:
删除box1和box2之间所有的注释;
不设置浮动;
调整box1或box2的宽度,比如将box的宽度调整为90px

如何解决IE6使用滤镜PNG图片透明后,容器内链接失效的问题?

方法:

div{width:300px;height:100px;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=’*.png’);} a{_position:relative;}
解决方法是为容器内的链接定义相对定位属性position的值为relative

如何解决IE6无法识别伪对象:first-letter/:first-line的问题?

方法1:

p:first-letter {float:left;font-size:40px;font-weight:bold;} p:first-line {color:#090;}
增加空格:在伪对象选择符:first-letter/:first-line与包含规则的花括号”{“间增加空格。

方法2:

p:first-letter {float:left;font-size:40px;font-weight:bold;} p:first-line {color:#090;}
换行:将整个花括号”{“规则区域换行。细节参见E:first-letter和E:first-line选择符

如何解决IE8会忽略伪对象:first-letter/:first-line里的!important规则的问题?

BUG重现:

p:first-letter {float:left;font-size:40px;font-weight:bold;color:#f00!important;color:#090;}
如上代码,在IE8下color定义都会失效,原因就是因为有color使用了!important规则。鉴于此,请尽量不要在:first-letter/:first-line里使用!important规则。

如何解决IE6会忽略同一条样式体内的!important规则的问题?

BUG重现:

div{color:#f00!important;color:#000;}
如上代码,IE6及以下浏览器div的文本颜色为#000,!important并没有覆盖后面的规则,也就是说!important被忽略了。解决方案是将该样式拆分为2条,细节参见!important规则

如何解决IE6及更早浏览器下当li内部元素是定义了display:block的内联元素时底部产生空白的问题?

BUG重现:

a,span{display:block;background:#ddd;}

如上代码,IE6及更早浏览器每个li内部的内联元素底部都会产生空白。解决方案是给li内部的内联元素再加上zoom:1

如何解决IE6及更早浏览器下未定义宽度的浮动或绝对定位元素会被内部设置了zoom:1的块元素撑开的问题?

BUG重现:

#test{zoom:1;overflow:hidden;border:1px solid #ddd;background:#eee;} #test h1{float:left;} #test .nav{float:right;background:#aaa;} #test .nav ul{zoom:1;overflow:hidden;margin:0;padding:0;list-style:none;} #test .nav li{float:left;margin:0 5px;}

如上代码,IE6及更早浏览器div.nav会被设置了zoom:1的ul给撑开。

列举几个解决方法:
设置ul为浮动元素;
设置ul为inline元素;
设置ul的width

如何解决IE7及更早浏览器下子元素相对定位时父元素overflow属性的auto|hidden失效的问题?

BUG重现:

div{overflow:auto;width:260px;height:80px;border:1px solid #ddd;} p{position:relative;margin:0;}

如果我是相对定位,我的父元素overflow属性设置为auto|hidden将失效。如果你使用的是IE及更早浏览器,你将可以看到这个BUG

如果我是相对定位,我的父元素overflow属性设置为auto|hidden将失效。如果你使用的是IE及更早浏览器,你将可以看到这个BUG

如上代码,在IE7及更早浏览器下你会看到div的滚动条将无法工作。解决方案是给div也设置相对定位position:relative

分享到:
评论

相关推荐

    CSS BUG浏览器兼容知识汇总

    HTML+CSS网页设计中的各种BUG浏览器兼容知识汇总

    常见 CSS BUG 的处理

    但时常我们也会碰到复杂的 CSS BUG 问题,所谓“复杂”实质是指触发的条件很复杂,而“BUG” 也并非指一定是浏览器的 BUG 。对于此类问题,我们首先要解决的是如何定位到问题,只有快速的定位到问题,才能更好的解决...

    目前比较全面的浏览器CSS BUG兼容汇总

    对于web2.0的过度,请尽量用xhtml格式写代码,而且DOCTYPE 影响 CSS 处理,作为W3C的标准,一定要加 DOCTYPE声明. 其它请参考:CSS hack 针对IE6,IE7,firefox显示不同效果 1.div的... 解决方案是在这个div里面加上displa

    css_bug与解决方法

    针对各种浏览器的各种cssbug与解决方法和技巧。

    Google浏览器CSS居中兼容问题完美解决方法

    div做的界面时,又出现CSS hack(CSS兼容浏览器问题)在IE内核浏览器或者firefox浏览器中都能居中,没有居中的可以用其特殊标签来设定居中,如下划线 _ IE6优先识别,!important 仅火狐firefox浏览器识别。可是在...

    css部分bug解决

    总结了关于CSS样式在不同浏览器中显示不一致的发生情况及解决方案,有效使你制作的网页达到最大程序的美观。

    css常见的bug(ie)

    自己整理出来的css bug 有兼容浏览器的bug

    关于调试CSS跨浏览器样式bug的问题

    本篇文章小编为大家介绍一下关于调试CSS跨浏览器样式bug的问题,有需要的朋友可以关注一下

    CSS BUG解决方法以及CSS BUG类的小技巧

    CSSbug是布局中最头疼的问题。我们需要兼顾各种浏览器,以期待获得一致的...一、针对浏览器的选择器 这些选择器在你需要针对某款浏览器进行css设计时将非常有用. IE6及其更低版本 *html{}  IE7及其更低版本 *:f

    精通CSS高级Web标准解决方案-包含源码(高清PDF中文版)

    之后本书用两章讨论招数、过滤器、bug和bug修复,最后由Simon Collison和Cameron Moll两位杰出的CSS设计人员,将书中讨论的许多技术组合起来,给出了两个实例研究。本书还集中介绍了现实的浏览器问题,是弥补CSS知识...

    CSS浏览器兼容和IE中bug问题

    对于初学者来说,可以比较简单的理解和处理css中遇见的一些浏览器兼容常见问题,以及对于IE中的bug得处理等,都是个人的一个整理。

    精通CSS高级Web标准解决方案

    在使 用CSS开发网站时,会遇到形形色色的浏览器bug和不一致问题,而解决方案又五花八门,往往让使用者感觉千头万绪、不知从何着手。 本书将最 有用的CSS技术汇总在一起,还总结了CSS设计中的最佳实践,讨论了解决...

    [W3Cfuns]精通CSS:高级Web标准解决方案(第2版)_含目录 pdf

    [W3Cfuns]精通CSS:高级Web...此外,书中着眼于创建跨浏览器的技术,讨论了bug及其捕捉和修复技术,还将所有技术组合成两个精彩的实例,讲述这些技术的工作原理和实际用法。 本书适合具有HTML和CSS基础知识的读者阅读。

    精通CSS:高级Web标准解决方案-pdf-01/4

    之后本书用两章讨论招数、过滤器、bug和bug修复,最后由Simon Collison和Cameron Moll两位杰出的CSS设计人员,将书中讨论的许多技术组合起来,给出了两个实例研究。本书还集中介绍了现实的浏览器问题,是弥补CSS知识...

    CSS BUG问题解决的一些经验

    CSS BUG在jb51.net介绍过也很多,也一直困扰着大家,在CSS布局中会常遇到这样的问题。相信大家对于常见 CSS BUG 的处理已经相对比较熟悉,例如:IE6 Three Pixel Gap(3px bug)、IE5/6 Doubled Float-Margin Bug...

    《精通CSS:高级Web标准解决方案(第2版)》源码

    此为《精通CSS:高级Web...此外,书中着眼于创建跨浏览器的技术,讨论了bug 及其捕捉和修复技术,还将所有技术组合成两个精彩的实例,讲述这些技术的工作原理和实际用法。本书适合具有HTML 和CSS 基础知识的读者阅读。

    快速定位页面中复杂 CSS BUG

    但时常我们也会碰到复杂的 CSS BUG 问题,所谓“复杂”实质是指触发的条件很复杂,而“BUG” 也并非指一定是浏览器的 BUG 。对于此类问题,我们首先要解决的是如何定位到问题,只有快速的定位到问题,才能更好的解决...

Global site tag (gtag.js) - Google Analytics