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

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

    方法:

    #test{overflow:hidden;height:1px;font-size:0;line-height:0;}

    IE6及更早浏览器之所以无法直接定义较小高度的容器是因为默认会有行高

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

    方法:

    #test{display:inline;}

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

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

    方法:

    #test{min-height:100px;_height:100px;}

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

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

    方法:

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

    方法:

    li{vertical-align:top;}

    除了top值,还可以设置为text-top | middle | bottom | text-bottom,甚至特定的<length><percentage>值都可以

  6. 如何解决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;} <div class="main">
    <div class="content">content</div>
    <div class="aside">aside</div>
    </div>

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

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

    BUG重现:

    .test{zoom:1;overflow:hidden;width:500px;}
    .box1{float:left;width:100px;}
    .box2{float:right;width:400px;} <div class="test">
    <div class="box1"></div>
    <!-- 注释 -->
    <div class="box2">↓这就是多出来的那只猪</div>
    </div>

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

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

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

    方法:

    div{width:300px;height:100px;_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='*.png');}
    a{_position:relative;}

    解决方法是为容器内的链接定义相对定位属性position的值为relative

  9. 如何解决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-letterE:first-line选择符

  10. 如何解决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规则。

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

    BUG重现:

    div{color:#f00!important;color:#000;}

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

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

    BUG重现:

    a,span{display:block;background:#ddd;}
    
    <ul>
    <li><a href="http://css.doyoe.com/">CSS参考手册</a></li>
    <li><a href="http://blog.doyoe.com/">CSS探索之旅</a></li>
    <li><a href="http://demo.doyoe.com/">web前端实验室</a></li>
    <li><span>测试li内部元素为设置了display:block的内联元素时底部产生空白</span></li>
    </ul>

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

  13. 如何解决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;} <div id="test">
    <h1>Doyoe</h1>
    <div class="nav">
    <ul>
    <li><a href="http://css.doyoe.com/">CSS参考手册</a></li>
    <li><a href="http://blog.doyoe.com/">CSS探索之旅</a></li>
    <li><a href="http://demo.doyoe.com/">web前端实验室</a></li>
    </ul>
    </div>
    </div>

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

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

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

    BUG重现:

    div{overflow:auto;width:260px;height:80px;border:1px solid #ddd;}
    p{position:relative;margin:0;} <div>
    <p>如果我是相对定位,我的父元素overflow属性设置为auto|hidden将失效。如果你使用的是IE及更早浏览器,你将可以看到这个BUG</p>
    <p>如果我是相对定位,我的父元素overflow属性设置为auto|hidden将失效。如果你使用的是IE及更早浏览器,你将可以看到这个BUG</p>
    </div>

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

  15. 如何解决Chrome在应用transition时页面闪动的问题?

    方法:

    -webkit-transform-style:preserve-3d;或-webkit-backface-visibility:hidden;

    在Chrome下,使用过渡效果transition时有时会出现页面闪动

待续及修订。。。

各个浏览器CSS中的Bugs及解决方案的更多相关文章

  1. ie浏览器css中的行为expression详解

    CSS中的行为——expression (ie only) 最近对CSS中的行为比较感兴趣,虽然是不符合标准的也只有ie才能识别,但是他确实给css的功能扩展了不少.下面是摘自互联网上的文字和例子,因 ...

  2. CSS中越界问题经典解决方案

    8.CSS相关知识 (1)如何解决父元素的第一个子元素的margin-top越界问题 1)为父元素加border-top: 1px;——有副作用 2)为父元素指定padding-top: 1px;—— ...

  3. CSS中设置DIV垂直居中的N种方法 兼容IE浏览器

    在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中 ...

  4. CSS中margin边界叠加问题及解决方案(转)

    边界叠加简介 边界叠加是一个相当简单的概念.但是,在实践中对网页进行布局时,它会造成许多混淆.简单地说,当两个垂直边界相遇时,它们将形成一个边界.这个边界的高度等于两个发生叠加的边界的高度中的较大者. ...

  5. div+css中常见的浏览器兼容性处理-兼容不同浏览器

    在网站设计的时候,应该注意css样式兼容不同浏览器问题,特别是对完全使用DIV CSS设计的网,就应该更注意IE6 IE7 FF对CSS样式的兼容,不然,你的网乱可能出去不想出现的效果! div+cs ...

  6. css中height 100vh的应用场景,动态高度百分比布局,浏览器视区大小单位

    css中height 100vh的应用场景,动态高度百分比布局,浏览器视区大小单位 height:100vh 一些只能vw, vh才能完成的应用场景: 1. 场景之:元素的尺寸限制 vw vh 主要是 ...

  7. IE6中CSS常见BUG全集及解决方案——摘自网友

    IE6中CSS常见BUG全集及解决方案 IE6双倍边距bug 当页面内有多个连续浮动时,如本页的图标列表是采用左浮动,此时设置li的左侧margin值时,在最左侧呈现双倍情况.如外边距设置为10px, ...

  8. scss牛刀小试:解决css中适配浏览器前缀问题

    在css中为适配浏览器,新特性总加 -webkit,-o, -moz 来适配浏览器,写的烦心,看着也臃肿,让css可读性降低,下面以阴影为例,如何使用scss让我们的css看起来更简洁. 本人使用的I ...

  9. css中字体大小在不同浏览器兼容性问题

    css中使用font-size设定字体大小,不同浏览器的字体height一样,但是width不同,比如在火狐和谷歌中,font-size:20px,字体的高度变为20px,但是谷歌的字体宽度比火狐长 ...

随机推荐

  1. get all sites under IIS

    https://stackoverflow.com/questions/2555668/how-to-programmatically-get-sites-list-and-virtual-dirs- ...

  2. CentOS/Ubuntu安装GLIBCXX3.4.21

    经过测试“GLIBCXX3.4.21 not find”这篇博文解决了我的问题. 以下是安装步骤:   一.首先查看当前gcc版本 strings /usr/lib/x86_64_linux-gun/ ...

  3. Oracle:手工建库

    今天学习了小布老师的手工建库视频,自己也做了一遍,下面是创建过程记录: 本地环境oracle10.2.0.1 一.前期准备工作 1.设置环境变量 [oracle@app dbs]$ vi bbk.en ...

  4. jsp重写url

    众所周知,使用java web编程出来的网站都是.jsp结尾的,而别人的网站都是以.html结尾的,那么这种效果是怎么实现的呢?就是这篇文章产生的原因,jsp重写url需要设计到第三方架包urlrew ...

  5. Opencv与dlib联合进行人脸关键点检测与识别

    前言 依赖库:opencv 2.4.9 /dlib 19.0/libfacedetection 本篇不记录如何配置,重点在实现上.使用libfacedetection实现人脸区域检测,联合dlib标记 ...

  6. web自动化测试的自身特点

    1.web页面是出现的元素可能具有不确定性 2.不同操作系统上不同web浏览器之间的兼容性 3.web应用的高并发性和容错性 4.移动设备上web客户端兼容性,旋转下和各种触摸特性

  7. 「LuoguP1627 / T36198」 [CQOI2009]中位数

    Description 给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b.中位数是指把所有元素从小到大排列后,位于中间的数. Input 第一行为两个正整数n和b,第二行为1 ...

  8. 【转】Chrome headless 模式

    原文地址: http://www.cnblogs.com/fnng/p/7797839.html 我们在通过Selenium运行自动化测试时,必须要启动浏览器,浏览器的启动与关闭必然会影响执行效率,而 ...

  9. 看鸟哥的Linux私房菜的一些命令自我总结(二)

    -关于执行文件路径的变量  $PATH -查看文件与目录  ls -a  :全部的文件,连同隐藏文件一起列出来 -d  :仅列出目录本身,而不是列出目录内的文件数据 -i   :列出inode号码 - ...

  10. 基于FBX SDK的FBX模型解析与加载 -(四)

    8. 骨骼蒙皮动画 骨骼蒙皮动画是当前游戏引擎中最常用的一种动画方式,关于其基本原理网络上的资料较多,关于到涉及的其它较复杂操作,如插值.融合等在这里也就先不再讨论了,而且其实现方式也与具体引擎的动作 ...