如何快速的解决浏览器兼容性问题
IE的每个版本对CSS代码的解释都不一样,而写出来的代码必须要兼容每个浏览器。每次我写一段代码,就在各个浏览器里查看一下有什么不一样的地方。有没有简单的方法啊,避免我在每...
IE的每个版本对CSS代码的解释都不一样,而写出来的代码必须要兼容每个浏览器。每次我写一段代码,就在各个浏览器里查看一下有什么不一样的地方。有没有简单的方法啊,避免我在每个浏览器里都看一遍。我倒是有一个想法,就是出一款浏览器,集成所有浏览器的BUG,只要这个浏览器兼容了,其他的就没问题了,不知道有这种浏览器右没有。谁能告诉我一下,怎么做才能让写出来的东西在每个浏览器都一样,主要是这几个:IE6,7,8 FF2,3
展开
5个回答
2013-10-21
展开全部
CSS Hack是在标准CSS没办法兼容各浏览器显示效果时才会用上的补救方法,在各浏览器厂商解析CSS没有达成一致前,我们只能用这样的方法来完成这样的任务.
我进行前端开发的时候,测试用的浏览器大致有: IE7, IE6, Opera9(文章撰写时版本为9.25 8825), Safari3(文章撰写时版本为3.0.4 523.15), Firefox2(文章撰写时版本为2.0.0.11).
在正常的 selector { property:value; } 的基础上常会根据具体情况为相同元素使用Hack以达到浏览器间统一.
IE系列: 复制内容到剪贴板 代码:selector { +property:value; } 在属性名前加上加号"+",这个Hack只有IE系列可以识别.
selector { *property:value; } 在属性名前加上星号"*",这个Hack只有IE系列可以识别.
selector { _property:value; } 在属性名前加上下划线"_",这个Hack只有IE系列 (除IE7外) 识别.
* html selector{ property:value; } 在选择器上运用继承法 * html selector, 这个Hack只有IE系列 (除IE7外) 可以识别.
html/**/ >body selector { property:value; } 在选择器上运用继承法 html/**/ >body selector ,这个Hack只有IE系列 (除IE7外) 可以识别.
selector { property/**/:value; } 在属性名和冒号":"之间加入注释,屏蔽IE6用.
selector/**/ { property/**/:value; } 在选择器和花括号"{"之间以及在属性名和冒号":"之间加入注释,屏蔽IE5和IE6用 (不屏蔽IE5.5) .
select/**/ { property:value; } 在选择器和花括号"{"之间加入注释,屏蔽IE5用.
*+html selector { property:value !important; } 在选择器上运用继承法 *+html selector 再加上 !important, 这个Hack只有IE7可以识别. Firefox: 复制内容到剪贴板 代码:*:lang(lang) selector { property:value !important; } 用伪类lang(语言)再加上!important进行定义的话,目前只有Firefox可以识别. Safari: 复制内容到剪贴板 代码:selector:empty { property:value !important; } 用伪类empty再加上!important进行定义的话,目前只有Safari可以识别. Opera: 复制内容到剪贴板 代码:@media all and (min-width: 0px){ selector { property:value; } } 利用特殊继承法进行定义的话,目前只有Opera可以识别. 以上的Hack并不完整,大家一起补充.
对Hack的运用,最普遍的是CSS盒模型Hack,清除浮动Hack.
CSS盒模型在IE5.X上是有严重解析错误的.这个Hack针对IE5.X: 复制内容到剪贴板 代码:selctor { width:IE5.X宽度; voice-family :"\"}\""; voice-family:inherit; width:正确宽度; }清除浮动Hack,相信这个定义用的人很多: 复制内容到剪贴板 代码:selector:after { content:"."; display:block; height:0; clear:both; visibility:hidden; }另外还有很多很多CSS Hack的运用
我进行前端开发的时候,测试用的浏览器大致有: IE7, IE6, Opera9(文章撰写时版本为9.25 8825), Safari3(文章撰写时版本为3.0.4 523.15), Firefox2(文章撰写时版本为2.0.0.11).
在正常的 selector { property:value; } 的基础上常会根据具体情况为相同元素使用Hack以达到浏览器间统一.
IE系列: 复制内容到剪贴板 代码:selector { +property:value; } 在属性名前加上加号"+",这个Hack只有IE系列可以识别.
selector { *property:value; } 在属性名前加上星号"*",这个Hack只有IE系列可以识别.
selector { _property:value; } 在属性名前加上下划线"_",这个Hack只有IE系列 (除IE7外) 识别.
* html selector{ property:value; } 在选择器上运用继承法 * html selector, 这个Hack只有IE系列 (除IE7外) 可以识别.
html/**/ >body selector { property:value; } 在选择器上运用继承法 html/**/ >body selector ,这个Hack只有IE系列 (除IE7外) 可以识别.
selector { property/**/:value; } 在属性名和冒号":"之间加入注释,屏蔽IE6用.
selector/**/ { property/**/:value; } 在选择器和花括号"{"之间以及在属性名和冒号":"之间加入注释,屏蔽IE5和IE6用 (不屏蔽IE5.5) .
select/**/ { property:value; } 在选择器和花括号"{"之间加入注释,屏蔽IE5用.
*+html selector { property:value !important; } 在选择器上运用继承法 *+html selector 再加上 !important, 这个Hack只有IE7可以识别. Firefox: 复制内容到剪贴板 代码:*:lang(lang) selector { property:value !important; } 用伪类lang(语言)再加上!important进行定义的话,目前只有Firefox可以识别. Safari: 复制内容到剪贴板 代码:selector:empty { property:value !important; } 用伪类empty再加上!important进行定义的话,目前只有Safari可以识别. Opera: 复制内容到剪贴板 代码:@media all and (min-width: 0px){ selector { property:value; } } 利用特殊继承法进行定义的话,目前只有Opera可以识别. 以上的Hack并不完整,大家一起补充.
对Hack的运用,最普遍的是CSS盒模型Hack,清除浮动Hack.
CSS盒模型在IE5.X上是有严重解析错误的.这个Hack针对IE5.X: 复制内容到剪贴板 代码:selctor { width:IE5.X宽度; voice-family :"\"}\""; voice-family:inherit; width:正确宽度; }清除浮动Hack,相信这个定义用的人很多: 复制内容到剪贴板 代码:selector:after { content:"."; display:block; height:0; clear:both; visibility:hidden; }另外还有很多很多CSS Hack的运用
2013-10-21
展开全部
所谓的不兼容很大意义上是指初始值的不同。比如:默认div层中。不同浏览器是有默认的padding值和其他属性值的我做个示范 如下:body{font-size:12px; font-family:宋体, Arial, Helvetica, sans-serif;padding:0px; margin:0px;}
div,form,img,ul,li,p,span{ margin: 0px; padding: 0px; border: 0px;}
做CSS布局出错时 只要把层的边框显示出来就很容易看出问题的。还有很重要的一点,层有浮动必须清空。我刚开始做这个的时候是看网易的主页的源代码编写的,然后翻阅API帮助文档查看不懂的属性。很快就可以解决问题的。 祝君好运,提前来个元旦快乐!
div,form,img,ul,li,p,span{ margin: 0px; padding: 0px; border: 0px;}
做CSS布局出错时 只要把层的边框显示出来就很容易看出问题的。还有很重要的一点,层有浮动必须清空。我刚开始做这个的时候是看网易的主页的源代码编写的,然后翻阅API帮助文档查看不懂的属性。很快就可以解决问题的。 祝君好运,提前来个元旦快乐!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-21
展开全部
目前能拿到的,兼容性最好的Mozilla系浏览器
下载地址:
http://www.linuxfans.org/nuke/module...ninfo&did=3494
基于firefox 1.0 开发,主要改进如下:
1 和集成下载工具D4x紧密集成,下载更方便
2 新增复制连接地址功能,使用更方便
3 完美解决Firefox丢字问题
4 采用Gtk2的文件打开对话框,查找文件更方便
5 Flash播放速度,可以用图形界面进行调节
6 完美的元素查找算法,完全兼容IE
7 基本支持xml数据岛机制,太平洋电脑网可以正常下载(论坛部分支持)
8 改进对在线流媒体的支持,只有OBJECT标记也能放!
9 增加对jscript.encode的支持,btchina可以访问
10 加速元素发现算法,比原始的firefox更快速
11 IE风格的选项对话框,更容易上手
下载地址:
http://www.linuxfans.org/nuke/module...ninfo&did=3494
基于firefox 1.0 开发,主要改进如下:
1 和集成下载工具D4x紧密集成,下载更方便
2 新增复制连接地址功能,使用更方便
3 完美解决Firefox丢字问题
4 采用Gtk2的文件打开对话框,查找文件更方便
5 Flash播放速度,可以用图形界面进行调节
6 完美的元素查找算法,完全兼容IE
7 基本支持xml数据岛机制,太平洋电脑网可以正常下载(论坛部分支持)
8 改进对在线流媒体的支持,只有OBJECT标记也能放!
9 增加对jscript.encode的支持,btchina可以访问
10 加速元素发现算法,比原始的firefox更快速
11 IE风格的选项对话框,更容易上手
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-21
展开全部
这个主要是CSS要写的规范,特别要注意margin这个的用法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-21
展开全部
Xenocode Browser Sandbox,试验下这个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询