`
xiang37
  • 浏览: 430608 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

火狐浏览器CSS兼容的解决方法(部分)

阅读更多

1.DOCTYPE 影响 CSS 处理

2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行

3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中

4.FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width

5.FF: 支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式

6.div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行

7.cursor: pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以

8.FF: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格。

9.在 mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法: div{margin:30px!important;margin:28px;}注意这两个margin的顺序一定不能写反,据阿捷的说法! important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样: div{maring:30px;margin:28px}重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx! important;

11.ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值所以先定义 ul{margin:0;padding:0;}就能解决大部分问题

注意事项:

1、float的div一定要闭合。

例如:(其中floatA、floatB的属性已经设置为float:left;) <#div id=”floatA” >
<#div id=”floatB” >
<#div id=”NOTfloatC” >这里的NOTfloatC并不希望继续平移,而是希望往下排。
这段代码在IE中毫无问题,问题出在FF。原因是NOTfloatC并非float标签,必须将float标签闭合。
在 <#div class=”floatB”>
<#div class=”NOTfloatC”>之间加上 <#div class=”clear”>这个div一定要注意声明位置,一定要放在最恰当的地方,而且必须与两个具有float属性的div同级,之间不能存 在嵌套关系,否则会产生异常。
并且将clear这种样式定义为为如下即可: .clear{
clear:both;}此外,为了让高度能自动适应,要在wrapper里面加上overflow:hidden;
当包含float的box的时候,高度自动适应在IE下无效,这时候应该触发IE的layout私有属性(万恶的IE啊!)用zoom:1;可以做到,这样就达到了兼容。
例如某一个wrapper如下定义: .colwrapper{
overflow:hidden;
zoom:1;
margin:5px auto;}

2、margin加倍的问题

设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。
解决方案是在这个div里面加上display:inline;
例如:
<#div id=”imfloat”>
相应的css为
#IamFloat{
float:left;
margin:5px;/*IE下理解为10px*/
display:inline;/*IE下再理解为5px*/}

3、关于容器的包涵关系

很多时候,尤其是容器内有平行布局,例如两、三个float的div时,宽度很容易出现问题。在IE中,外层的宽度会被内层更宽的div挤破。一定要用Photoshop或者Firework量取像素级的精度。

4、关于高度的问题

如果是动态地添加内容,高度最好不要定义。浏览器可以自动伸缩,然而如果是静态的内容,高度最好定好。(似乎有时候不会自动往下撑开,不知道具体怎么回事)

5、最狠的手段 - !important;

如果实在没有办法解决一些细节问题,可以用这个方法.FF对于”!important”会自动优先解析,然而IE则会忽略.如下 .tabd1{
background:url(/res/images/up/tab1.gif) no-repeat 0px 0px !important; /*Style for FF*/
background:url(/res/images/up/tab1.gif) no-repeat 1px 0px; /* Style for IE */}值得注意的是,一定要将xxxx !important 这句放置在另一句之上,上面已经提过

IE7.0出来了,对CSS的支持又有新问题。浏览器多了,网页兼容性更差了,疲于奔命的还是我们,为解决IE7.0的兼容问题,找来了下面这篇文章:

现 在我大部分都是用!important来hack,对于ie6和firefox测试可以正常显示,但是ie7对!important可以正确解释,会导致 页面没按要求显示!搜索了一下,找到一个针对IE7不错的hack方式就是使用“*+html”,现在用IE7浏览一下,应该没有问题了。

现在写一个CSS可以这样:
#example { color: #333; } /* Moz */
* html #example { color: #666; } /* IE6 */
*+html #example { color: #999; } /* IE7 */

那么在firefox下字体颜色显示为#333,IE6下字体颜色显示为#666,IE7下字体颜色显示为#999.

 

 

1, !important

随着IE7对!important的支持, !important 方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.)

<style>
#wrapper
{
width: 100px!important; /* IE7+FF */
width: 80px; /* IE6 */
}
</style>


2, IE6/IE77对FireFox

*+html 与 *html 是IE特有的标签, firefox 暂不支持.而*+html 又为 IE7特有标签.

<style>
#wrapper
{
#wrapper { width: 120px; } /* FireFox */
*html #wrapper { width: 80px;} /* ie6 fixed */
*+html #wrapper { width: 60px;} /* ie7 fixed, 注意顺序 */
}
</style>

1, FF下给 div 设置 padding 后会导致 width 和 height 增加, 但IE不会.(可用!important解决)
2, 居中问题.
1).垂直居中.将 line-height 设置为 当前 div 相同的高度, 再通过 vertical-align: middle.( 注意内容不要换行.)
2).水平居中. margin: 0 auto;(当然不是万能)
3, 若需给 a 标签内内容加上 样式, 需要设置 display: block;(常见于导航标签)
4, FF 和 IE 对 BOX 理解的差异导致相差 2px 的还有设为 float的div在ie下 margin加倍等问题.
5, ul 标签在 FF 下面默认有 list-style 和 padding . 最好事先声明, 以避免不必要的麻烦. (常见于导航标签和内容列表)
6, 作为外部 wrapper 的 div 不要定死高度, 最好还加上 overflow: hidden.以达到高度自适应.
7, 关于手形光标. cursor: pointer. 而hand 只适用于 IE.

分享到:
评论

相关推荐

    CSS中火狐浏览器与IE浏览器的兼容

    ### CSS中火狐浏览器与IE浏览器的兼容 在前端开发领域,确保网页在不同浏览器间的兼容性至关重要。本文旨在提供一些实用的技巧和方法来帮助开发者解决CSS在Internet Explorer(IE)与Mozilla Firefox(火狐)这两款...

    火狐浏览器(汉文)火狐浏览器火狐浏览器火狐浏览器

    7. **最新版本**:提供的"FirefoxChinaEdition-latest.exe"文件应该是火狐浏览器的最新中国版,该版本可能针对中国用户进行了优化,比如内置了中文语言包,或者与国内某些服务有更佳的兼容性。 总的来说,火狐浏览...

    火狐浏览器不支持有道云笔记网页版

    火狐浏览器不支持有道云笔记网页版的问题可能是由于浏览器兼容性、JavaScript 文件加载、样式表加载或浏览器插件问题引起的。用户可以尝试使用其他浏览器、禁用浏览器插件或使用客户端软件来解决问题。

    火狐浏览器45.0.2.rar

    火狐浏览器45.0.2是一款较早的火狐浏览器版本,主要针对那些需要兼容旧版Web开发工具或特定扩展的用户。这个版本的重要特性是它仍然支持Firebug插件,这是一个非常知名的Web开发者工具,对于前端工程师来说至关重要...

    52版本的火狐浏览器资源信息

    "安可改造"可能是指针对特定网站或应用的兼容性调整,以确保其在52版本的火狐浏览器上能够正常运行和测试。在开发和测试过程中,尤其是在处理老旧代码或特定功能时,可能需要在特定版本的浏览器环境下进行,以重现...

    CSS样式兼容IE6、IE7、IE8、FF火狐浏览器的方法

    在探讨CSS样式兼容IE6、IE7、IE8与火狐浏览器的方法时,我们需深入理解不同浏览器对CSS的支持差异,以及如何通过特定的技术手段确保网页在这些浏览器中的一致性和美观性。以下是对这一主题的详细解析: ### 1. 了解...

    IE浏览器和火狐浏览器兼容问题有部分js

    标题和描述均提到了“IE浏览器和火狐浏览器兼容问题有部分js”,这指向了在Web开发中一个常见的挑战——确保网页在不同浏览器上的表现一致。浏览器兼容性问题主要源于不同浏览器对Web标准(如HTML、CSS和JavaScript...

    低版本火狐浏览器(v43、v52、v55)

    对于开发者来说,这些旧版本的火狐浏览器可用于测试网站和应用的向后兼容性,确保它们在不同版本的浏览器上都能正常工作。对于普通用户而言,了解这些历史版本可以帮助理解浏览器的发展历程和科技进步。通过使用这些...

    IE与Firefox的CSS兼容大全

    以下是一些针对IE与Firefox的CSS兼容性的要点: 1. **DOCTYPE的影响**:DOCTYPE声明会影响浏览器进入不同的渲染模式。在IE中,没有正确的DOCTYPE会导致浏览器进入“quirks模式”,而Firefox则会遵循更接近标准的...

    火狐浏览器便携版

    火狐浏览器便携版是一款专为用户打造的轻巧便捷的网页浏览工具,尤其适合开发者使用。它在功能上与标准版本的火狐浏览器并无太大差异,但便携版的一个显著特点是无需安装即可运行,只需将下载的压缩包解压到任意位置...

    Firefox火狐浏览器官方50.0-win32版本exe安装包

    《Firefox火狐浏览器50.0-win32版本:官方安装包详解》 Firefox火狐浏览器,由Mozilla基金会开发,是一款全球广泛使用的开源网络浏览器。它以其强大的安全性、隐私保护和自定义功能著称,深受用户喜爱。"Firefox...

    火狐浏览器51版——64bit.rar

    火狐浏览器51版是一款基于开源项目Gecko的网络浏览器,专为64位操作系统设计。这个版本在当时因其对插件的良好支持而备受青睐,尤其是对于那些喜欢使用自定义或老旧插件的用户。在现代浏览器逐步淘汰NPAPI插件以提升...

    火狐浏览器35.0.1

    5. **扩展插件支持**:火狐浏览器的一大亮点是其丰富的扩展生态系统,35.0.1版本可能会对扩展插件的兼容性和稳定性进行优化,特别是提到了“selenium ide”和“firebug”。 6. **Selenium IDE**:Selenium是一款...

    Firefox火狐浏览器官方Setup 70.0.1-win64版本msi安装包

    《Firefox火狐浏览器70.0.1-win64版本msi安装包详解》 Firefox火狐浏览器,作为全球知名的开源网页浏览器,以其强大的安全性能、丰富的扩展插件以及高度的自定义性深受用户喜爱。这里我们聚焦的是Firefox 70.0.1-...

    省市县级联完整版-火狐浏览器

    “火狐浏览器”标签则意味着这个组件可能只优化了在火狐浏览器上的表现,可能未考虑其他浏览器的兼容性。因此,对于需要在多种浏览器环境下运行的项目,开发者可能需要额外的工作来确保这个组件在Chrome、Safari、...

    wdatePicker 解决火狐和IE兼容

    标签“wdatePicker 火狐”表明,这个问题或解决方案主要关注的是wdatePicker在火狐浏览器中的应用和兼容性。火狐浏览器使用Gecko渲染引擎,而IE则使用 Trident(早期版本)或EdgeHTML(新版本),两者对JavaScript和...

    IE与火狐浏览器兼容方案

    本文将深入探讨如何解决IE(Internet Explorer)与火狐浏览器(Firefox)之间的兼容问题,以便用户在各种浏览器上都能获得一致的浏览体验。 首先,了解问题的根源至关重要。IE(尤其是早期版本)和火狐浏览器在执行...

    ie和火狐浏览器兼容问题

    这些是解决IE和Firefox之间CSS兼容性问题的一些常见策略。在实际开发中,可能还需要结合使用条件注释、浏览器前缀,或者使用库和框架如autoprefixer和 Normalize.css 来进一步优化跨浏览器的兼容性。

    火狐浏览器插件-获取mac地址源码

    火狐浏览器插件是一种增强火狐功能的软件组件,它们通常是用JavaScript、XUL或CSS等Web技术编写的,能够扩展火狐的功能,提供个性化的浏览体验。在本例中,我们关注的是一个特定的插件,其核心功能是获取计算机的MAC...

    Firefox火狐浏览器官方45.0.2esr-win32版本exe安装包

    《Firefox火狐浏览器45.0.2esr-win32版本详解》 Firefox火狐浏览器,由Mozilla基金会开发,是一款开源、免费的网络浏览器,以其强大的安全性、隐私保护和高度可定制性著称。本篇文章将深入探讨45.0.2esr-win32版本...

Global site tag (gtag.js) - Google Analytics