常见的浏览器兼容性问题总结

简介: 1. 不同浏览器的标签默认外补丁margin和内补丁padding不同 发生概率:100% 解决方案:使用CSS通配符*,设置内外补丁为0 *{ margin: 0; padding: 0;} 2.

1. 不同浏览器的标签默认外补丁margin和内补丁padding不同

发生概率:100%

解决方案:使用CSS通配符*,设置内外补丁为0

*{ margin: 0; padding: 0;}

2.  块属性标签float之后,又有横向的margin值,在IE6中显示会比设置的大(IE6双边距bug)

  发生概率:90%

   解决方案:在float标签样式控制中加入display:inline;

阿里云代金券1000元免费领取地址:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=2a7uv47d
新老阿里云账户均可领取!可用于购买阿里云服务器ECS、云数据库RDS、虚拟主机、安骑士、DDoS高防IP等100多云计算产品。 代金券自领取之日起,有效期是30天,请及时使用,过30天后还可以重新领取。

3. 设置较小的高度标签(一般小于10px),在IE6,IE7,遨游中超出自己设置的高度

发生概率:60%

解决方案:给超出高度的标签设置overflow:hidden;或者设置行高line-height小于你设置的高度。

4. 行内标签设置display:block;后又采用float布局,再设置横向margin值时,在IE6中显示会比设置的大(IE6双边距bug)

发生概率:20%

解决方案:在display:block;后面加上display:inline;display:table;

5. 图片默认有间距

发生概率:20%

解决方案:使用float为img布局

6. 标签最低高度设置min-height不兼容

发生概率:5%

解决方案:例如要设置一个标签的最小高度为200px

{ min-height: 200px;

 height: auto!important;

height: 200px;

overflow: visible;}

7. 透明度兼容设置

发生概率:主要看你要写的东西设不设透明度

解决方案:一句话

transparent_class {   

    filter:alpha(opacity=50);   

       -moz-opacity:0.5;   

       -khtml-opacity: 0.5;   

       opacity: 0.5;   

 } 

opacity:0.5; This is the “most important” one because it is the currentstandard in CSS. This will work in most versions of Firefox, Safari, andOpera.This would be all you need if all browsers supported current standards. Which,of course, they don’t.

filter:alpha(opacity=50); This one you need for IE.

-moz-opacity:0.5; You need this one to support way old school versions of theMozilla browsers like Netscape Navigator.

-khtml-opacity:0.5; This is for way old versions of Safari (1.x) when therendering engine it was using was still referred to as KTHML, asopposed to thecurrent WebKit .

8. Box Model的bug

描述:给一个元素设置了高度和宽度的同时,还为其设置margin和padding的值,会改变该元素的实际大小。

解决办法:在需要加 margin和padding的div内部加一个div,在这个div里设置margin和padding值。

9. IE6中的列表li楼梯状bug

描述:通常在li中的元素(比如a)设置了浮动float,但li本身不浮动。

解决办法:

ul li{float:left;}

或 ul li{display:inline;}

10.li空白间距

描述:在IE下,会增加li和li之间的垂直间距

解决办法:给li里的a显式的添加宽度或者高度

li a{width:20px;}

或者

li a{display:block;float:left;clear:left;}

或者

li {display:inline;}

li a{display:block;}

或者

在每个列表li上设置一个实线的底边,颜色和li的背景色相同

11.overflow:auto;和position:relative的碰撞

描述:此bug只出现在IE6和IE7中,有两个块级元素,父元素设置了overflow:auto;子元素设置了position:relative;且高度大于父元素,在IE6-7中子元素不会被隐藏而是溢出。

解决方案:给父元素也设置position:relative;

12.浮动层的错位

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

解决方案:overflow:hidden;

13.IE6克隆文本的bug

描述:若你的代码结构如下

   

       ……

   

很有可能在IE6网页上出现一段空白文本

解决方案:

使用条件注释

删除所有注释

在注释前面的那个浮动元素加上 display:inline;

14.IE的图片缩放

描述:图片在IE下缩放有时会影响其质量

解决方案:img{ -mg-interpolation-mode:bicubic;}

15.IE6下png图片的透明bug

描述:使用透明图片,使用png24或png32图片在IE6下面显示图片会有一层淡蓝色的背景。

解决方案:

.img{

background:url('http://shenmo.wanmei.com/images/logo/sm_logo_202x104.png');

_background:0;

_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://shenmo.wanmei.com/images/logo/sm_logo_202x104.png',sizingMethod='scale');

}

img{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://shenmo.wanmei.com/images/logo/sm_logo_202x104.png',sizingMethod='scale');}

http://shenmo.wanmei.com/images/logo/sm_logo_202x104.png',sizingMethod='scale');" alt="" />

16.透明背景bug

   描述:在IE浏览器中,框架不会自动把背景设为透明

   解决方案:

  

   在iframe调用的content.html页面中设置

   body{background-color: transparent;}

相关文章
|
关系型数据库 PHP Apache
|
NoSQL Java API
Spring Boot 中集成Redis
主要介绍了 redis 的使用场景、安装过程,以及 Spring Boot 中集成 redis 的详细步骤。在实际项目中,通常都用 redis 作为缓存,在查询数据库的时候,会先从 redis 中查找,如果有信息,则从 redis 中取;如果没有,则从数据库中查,并且同步到 redis 中,下次 redis 中就有了。更新和删除也是如此,都需要同步到 redis。redis 在高并发场景下运用的很多。
|
存储 Java 数据处理
Java一维数组的创建与应用
Java一维数组的创建与应用
109 0
|
Java 数据库连接 数据库
Spring JDBC-数据连接泄露解读
Spring JDBC-数据连接泄露解读
504 0
|
机器学习/深度学习 人工智能 达摩院
2442 个专业术语!人工智能术语库 AITD 更新至 3.1 版
2442 个专业术语!人工智能术语库 AITD 更新至 3.1 版
3572 0
|
前端开发 Java 容器
springboot项目常用的初始化方式,看看你知道几个?
平常的项目开发中,经常会遇到数据初始化的需求,比如说在项目启动之后需要读取自定义的配置信息、初始化自定义对象信息等等,那springboot项目中进行初始化方式有哪些,今天就一起来聊一下.为方便小伙伴查阅,第二个章节已经将各种方式进行了实现,需要用到的小伙伴可以直接拿去用。至于为什么能那样做,翻阅了相关官方文档,会做出简要说明,感兴趣的小伙伴可以看下第三个章节。
springboot项目常用的初始化方式,看看你知道几个?
|
运维 Prometheus Kubernetes
工作用Go: 异步任务怎么写6 | Asynq: 专业异步任务框架
工作用Go: 异步任务怎么写6 | Asynq: 专业异步任务框架
2101 0
工作用Go: 异步任务怎么写6 | Asynq: 专业异步任务框架
|
定位技术 容器
|
网络协议 PHP
php实现多进程socket服务器class
php实现多进程socket服务器class
156 0
php实现多进程socket服务器class
|
iOS开发 Perl
SwiftGen 自动生成资源代码
SwiftGen 自动生成资源代码
724 0
SwiftGen 自动生成资源代码