浏览器兼容问题的解决方案

对于前端开发良好的浏览器兼容必不可少,总结一下遇到浏览器兼容问题的解决办法。

1、保证浏览器默认css样式一致;

2、书写规范的css,然后在不同的浏览器下测试,针对不同的bug,用适当的方式解决。如:css Hack,

3、使用好的前端架构,通过第三方控件兼容浏览器;

4、多学习、多积累、多google。

 一、保证浏览器默认css样式一致

首先要保证各个浏览器的默认样式的统一,所以这里就用到了css.reset。网络上有各种版本的reset代码,一般都是在一个项目的base.css里。我在这里举出一个我看到比较好的一个版本;

 1 /*CSS reset*/
 2 body, div, dl, dt, dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote£¬th,td{margin:0;padding:0;}
 3 table{border-collapse:collapse;border-spacing:0;}
 4 fieldset,img {border:0;}
 5 address,caption, cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
 6 ol,ul {list-style:none;}
 7 capation,th{text-align:left;}
 8 h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
 9 q:before, q:after{content:‘ ‘}
10 abbr,acronym{border:0;}

二、测试,针对不同的BUG找到合适的解决方案

     将制作的网页在不同的浏览器上测试,遇到问题后查看原因,比较常用的是css Hack。但是网上的建议是不要使用Hack,而是尽量用兼容的属性去替换。

CSS Hack:根据不同的浏览器写不同的css代码。大致包括三类有效形式

1、css内部hack

eg:

_  定义IE6   * 定义IE7   \0(后)定义IE8 定义顺序应该是由识别多的到识别少的。保证最后定义的属性是只有那个浏览器能识别的。如,_是只能IE6识别的。

2、网页头部hack

eg:

1 <!--[if IE 6]><code><![end if]-->
2 <!--[if gt IE 6 && lt IE 9]> <code> <![end if]-->

3、选择器hack

IE6能识别*html .class{},IE 7能识别*+html .class{}或者*:first-child+html .class{}

三、使用好的前端架构

常用到的jquery+bootstrap比较全面的解决了js 和 css的不兼容问题。

还没有总结比较完整的前端架构,这是以后的学习目标。

四、积累(更新)

以后遇到的不兼容问题和解决方案可以记录在这里。

浏览器兼容问题的解决方案

时间: 2024-10-07 11:28:48

浏览器兼容问题的解决方案的相关文章

对浏览器兼容问题的解决方案

目前,最为流行的浏览器共有五个:分别是ie,Edge浏览器(属于微软),火狐,谷歌(chrome)Safari和Opera五大浏览器. Trident内核:IE ,360,,猎豹,百度: Gecko内核:火狐----------->这个浏览器内核是开源的浏览器内核,插件非常多,-------------->缺点:打开速度慢(加载flash插件)<-----额外介绍----->. Presto内核:Opera7及以上版本 Webkit:遨游,苹果 ,symbian:Safari.Ch

浏览器兼容问题及解决方案

1.图片间隙 A)div中的图片间隙(该bug出现在IE6以及更低版本当中) 描述:在div中插入图片时,图片会将div下方撑大三像素 hack1:将</div>和<img>写在一行上 hack2:将<img>转化为块状元素,给<img>添加声明:display:block; B)dt,li中的图片间隙(IE6) hack1:将<img>转化为块状元素,给<img>添加声明:display:block; hack2:<img&g

常见浏览器的兼容问题以及解决方案 (仅供参考)

所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果.所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题. 在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 第一类是精确按照设计图开发的前端开发人员,可以说是精确到1px的,他们很容易就会发现设计图的不足,并且在很少的情况下会碰到浏览器的兼容性问题,而这些问题往往都死浏览器

常见浏览器兼容性问题与解决方案【转】

常见浏览器兼容性问题与解决方案 原文:http://blog.csdn.net/chuyuqing/article/details/37561313/ 所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果.所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题. 在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 第一类是精确按

浏览器兼容问题汇总(持续更新)

所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果.所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题. 在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 第一类是精确按照设计图开发的前端开发人员,可以说是精确到1px的,他们很容易就会发现设计图的不足,并且在很少的情况下会碰到浏览器的兼容性问题,而这些问题往往都死浏览器

WEB前端开发人员须知的常见浏览器兼容问题及解决技巧

所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果.所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题.在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 第一类是精确按照设计图开发的前端开发人员,可以说是精确到1px的,他们很容易就会发现设计图的不足,并且在很少的情况下会碰到浏览器的兼容性问题,而这些问题往往都是浏览器的

常见CSS浏览器兼容性问题与解决方案【转载自http://blog.csdn.net/chuyuqing/article/details/37561313/】

所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况.在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果.所以浏览器的兼容性问题是前端开发人员经常会碰到和必须要解决的问题. 在学习浏览器兼容性之前,我想把前端开发人员划分为两类: 第一类是精确按照设计图开发的前端开发人员,可以说是精确到1px的,他们很容易就会发现设计图的不足,并且在很少的情况下会碰到浏览器的兼容性问题,而这些问题往往都死浏览器

常见的浏览器兼容问题

所谓的浏览器兼容性问题,是指因为不同的浏览器对同 段代码有不同的解析,造成 显 效果不统 的情况.在 多 数情况下,我们的需求是, 论 户 什么浏览器来查看我们的 站或者登陆我们的系统,都应该是统 的显 效果.所 以浏览器的兼容性问题是前端开发 员经常会碰到和必须要解决的问题. 在学习浏览器兼容性之前,我想把前端开发 员划分为两类: 第一类是精确按照设计图开发的前端开发 员,可以说是精确到1px的,他们很容易就会发现设计图的不 ,并且在很少的情况下会碰到浏览器的兼容性问题, 这些问题往往都死浏览

处理常见浏览器兼容问题

浏览器兼容问题一:不同浏览器的标签默认的margin和padding不同 问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大 碰到频率:100% 解决方案: CSS里加一行 *{margin:0;padding:0;} 备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设置各个标签的内外补丁是0. 浏览器兼容问题二: 块属性标签float后,又有横行的margin情况下,在IE6显示margin比设置的大 问