`

浏览器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兼容汇总

    浏览器CSS兼容性问题一直是Web开发中的痛点,尤其是在处理IE6、IE7以及Firefox等不同浏览器时。以下是一些常见的CSS兼容性BUG及其解决方案: 1. **垂直居中问题**: 在IE6、7和Firefox中,实现元素的垂直居中可以...

    css_bug与解决方法

    描述详述:本文旨在探讨并提供解决各种浏览器中的CSS bug的方法与技巧。在Web开发中,CSS(层叠样式表)是实现网页美观设计的关键技术之一,但不同浏览器对CSS的支持程度和解析方式存在差异,这往往导致CSS bug的...

    CSS BUG浏览器兼容知识汇总

    然而,由于不同的浏览器在解析和实现CSS规范时可能存在差异,导致开发者经常遇到“CSS BUG”问题,尤其是在不同浏览器间的兼容性问题。这篇综合性的知识汇总将探讨CSS在浏览器中的常见问题、解决方案以及优化策略。 ...

    常见 CSS BUG 的处理

    本文将重点介绍几种常见的 CSS BUG 以及它们的处理方法,帮助开发者们更好地定位和解决问题。 #### 1. IE6 Three Pixel Gap 与 IE5/6 Doubled Float-Margin Bug **IE6 Three Pixel Gap**:这是一种在 Internet ...

    css 多浏览器兼容解决方案 下载

    以上是针对CSS多浏览器兼容的一些常见问题和解决策略,实际开发中,还需要关注其他浏览器,如Chrome、Safari和Opera等,以及最新的浏览器版本,因为它们也可能有自己的解析差异。同时,利用条件注释、Modernizr等...

    CSS种针对浏览器兼容问题的解决方法

    以上列举了CSS中常见的浏览器兼容性问题及解决方法。开发者在进行前端开发时,需要时刻关注这些差异,并采取相应的措施来确保网页能够在不同的浏览器下表现出一致的效果。通过合理利用条件注释、特定浏览器的选择器...

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

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

    CSS常见Bug及其修正方法

    #### 二、常见Bug及解决方案 ##### 1. IE双倍Margin Bug - **问题描述**:在Internet Explorer中,当元素设置了浮动属性,并且在同一侧设置了一个margin值时,该margin会被加倍计算。 - **修正方法**:可以通过添加...

    css部分bug解决

    ### CSS部分Bug解决 #### 概述 在前端开发中,尤其在处理CSS样式时,经常会出现因浏览器差异导致的兼容性问题。本文将详细探讨几种常见的CSS样式在不同浏览器中显示不一致的情况及其解决方案,旨在帮助开发者们...

    css样式BUG大全

    本文将针对常见的CSS样式BUG进行详细解析,并提出相应的解决方案。 #### 二、垂直居中问题 **问题描述:** 在某些情况下,尝试使一个元素在其父容器内垂直居中时,如果使用`vertical-align: middle;`或设置`line-...

    css浏览器兼容问题

    #### 三、常见兼容性问题及解决方法 ##### 1. Div的垂直居中问题 要使div中的内容垂直居中,可以通过以下方法实现: ```css div { line-height: 200px; /* 设置与div高度相同的行高 */ vertical-align: middle;...

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

    以下是一些常用的CSS BUG解决方法和小技巧,帮助你更有效地处理这些问题。 1. 针对浏览器的选择器: - IE6及其更低版本:使用`*html{}`选择器。 - IE7及其更低版本:使用`*:first-child html{}`或`*html{}`。 - ...

    最常见的9种IE_css_bug及fix

    ### 最常见的9种IE_css_bug及fix:深入解析与解决方案 #### 1. 居中布局问题 在Web开发中,将元素居中是极为常见的需求。通过设置`margin: auto;`通常能够轻松实现这一目标,但在IE6中,这种方法却会遇到问题。...

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

    ### CSS浏览器兼容性与IE中的Bug处理 #### CSS兼容性问题概述 在Web开发中,浏览器的兼容性问题一直是开发者需要面对的重要挑战之一。不同浏览器(如IE、Chrome、Firefox等)对CSS的支持程度和解释方式存在差异,...

    css浏览器兼容.docx

    CSS浏览器兼容性问题解决方案 CSS浏览器兼容性问题是Web开发中常见的问题。不同的浏览器对CSS的解析方式不同,这就导致了浏览器之间的兼容性问题。了解浏览器的兼容性问题是非常重要的,为此,我们总结了一些常见的...

    css常用公共样式 与bug解决方案

    本压缩包“css常用公共样式与bug解决方案”聚焦于一些常见的CSS应用场景和问题解决策略,对于前端开发者来说极具参考价值。以下是基于标题、描述和标签所涵盖的CSS知识点的详细讲解: 1. **公共样式**:公共样式是...

    解决ie9、ie10本地css加载不上的解决方法实例

    解决IE9和IE10本地CSS加载不上的问题,我们可以尝试以下几种方法: 1. **禁用缓存**:在开发过程中,浏览器缓存可能会导致CSS文件未被重新加载。可以在URL后面添加一个时间戳或者随机字符串,强制浏览器认为这是一...

Global site tag (gtag.js) - Google Analytics