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

总结:CSS在IE与Firefox下的兼容性

阅读更多
转载:http://www.163sd.com/blog/article.asp?id=52
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 特别设置样式,值得注意的是,一定要将xxxx !important 这句放置在另一句之上

  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;

  10.IE5 和IE6的BOX解释不一致

  IE5下div{width:300px;margin:0 10px 0 10px;}

  div的宽度会被解释为300px-10px(右填充)-10px(左填充)最终div的宽度为280px,而在IE6和其他浏览器上宽度则是以 300px+10px(右填充)+10px(左填充)=320px来计算的。这时我们可以做如下修改 div{width:300px!important;width /**/:340px;margin:0 10px 0 10px}

  关于这个/**/是什么我也不太明白,只知道IE5和firefox都支持但IE6不支持,如果有人理解的话,请告诉我一声,谢了!:)

  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 这句放置在另一句之上,上面已经提过.



css hacks (ie6,ie7,ie8,firefox,Chrome)
文章分类:Web前端

IE6能识别下划线"_"和星号" * ",IE7能识别星号" * ",但不能识别下划线"_", IE8能识别" \9",但不能识别下划线"_", 而firefox两个都不能认识,却可以识别‘!important’。等等
书写顺序,一般是将识别能力强的浏览器的CSS写在后面。下面列举常用的CSS hack方法





1:!important
!important作用是提高指定样式规则的应用优先权。
IE7以及所有标准浏览器能识别!important
区别IE6与IE7与其他浏览器
.browserTest
{
border:20px solid #60A179 !important;
border:20px solid #00F;
}
在Mozilla中或者IE7浏览时候,能够理解!important的优先级,因此显示#60A179的颜色:
在IE6中浏览时候,不能够理解!important的优先级,因此显示#00F的颜色:





2:*
IE都能识别*;标准浏览器(如火狐)不能识别*
区别IE6与火狐
.browserTest
{
border:20px solid #60A179;
*border:20px solid #00F;
}
区别IE7与火狐
.browserTest
{
border:20px solid #60A179;
*border:20px solid #00F;
}
区别IE7,IE6与火狐
.browserTest
{
border:20px solid #60A179;
*border:20px solid #00F !important;
*border:20px solid ###;
}





3:_
IE6支持下划线,IE7和firefox均不支持下划线
区别IE7,IE6与火狐
.browserTest
{
border:20px solid #60A179;
*border:20px solid #00F;
_border:20px solid ###;
}
/*不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中间,IE6的写在最后面*/





4:*+html 与 *html
*+html 与 *html 是IE特有的标签, firefox 暂不支持.而*+html 又为 IE7特有标签
.browserTest { width: 120px; }      /* FireFox fixed */
*html .browserTest { width: 80px;}  /* ie6 fixed */
*+html .browserTest { width: 60px;} /* ie7 fixed */





5:\9  专属IE8的Hack



.browserTest { width: 120px\9; }      /* IE8 fixed */





6:Chrome

@media screen and (-webkit-min-device-pixel-ratio:0) {
/* 针对 Google Chrome、Safari 3.0、Opera 9 的CSS样式 */
}



@media screen and (-webkit-min-device-pixel-ratio:0) {
  .parent- cat li{font-family:'宋体'}
  .parent-cat li{font-family:inhert;#}
}





7:各浏览器内核



Mozilla Firefox ( Gecko )
Internet Explorer ( Trident )
Opera ( Presto )
Konqueror ( KHTML )
Safari ( WebKit )
Google Chrome ( WebKit )
分享到:
评论

相关推荐

    解决CSS在IE与火狐下的兼容问题

    通过以上策略,你可以有效地解决CSS在IE和Firefox之间的兼容性问题,确保你的网站在各种浏览器下都能提供良好的用户体验。不断学习和实践,熟悉各种浏览器的特性,是成为一名优秀前端开发者的必经之路。

    IE与Firefox的CSS兼容大全

    在网页设计中,CSS(层叠样式表)的兼容性是一个关键问题,特别是对于历史悠久的Internet Explorer(IE)和相对现代的Firefox浏览器。由于这两者对CSS标准的解析方式不同,开发者经常面临兼容性挑战。以下是一些针对...

    css解决IE6,IE7,firefox兼容性问题.

    ### CSS解决IE6、IE7及Firefox兼容性问题详解 #### 一、引言 随着互联网技术的发展,浏览器种类日益增多,其中Internet Explorer (IE) 和 Firefox 是早期非常流行的两款浏览器。尤其在2000年代中期,IE6、IE7 和 ...

    IE与Firefox的CSS兼容大全.rar

    "IE与Firefox的CSS兼容大全"是一个针对这两个浏览器之间CSS兼容性问题的资源集合,旨在帮助网页开发者解决在跨浏览器设计时遇到的难题。 首先,IE浏览器,尤其是早期版本,如6、7和8,对于CSS标准的支持并不完全。...

    让CSS兼容IE和Firefox的技巧集合

    标题中的“让CSS兼容IE和Firefox的技巧集合”是指在网页设计中,针对Internet Explorer(IE)和Firefox这两种浏览器之间CSS样式兼容性问题的解决策略。描述中的“嘿呌,IE不再是个bug”暗示了这些技巧能帮助开发者...

    css兼容性(IE 和 firefox)技巧大全.doc

    在网页设计中,CSS(层叠样式表)的兼容性问题常常困扰着开发者,尤其是在处理IE(Internet Explorer)和Firefox这两个浏览器之间的差异时。本文主要针对这些差异提供了一些实用的技巧,帮助开发者解决常见的CSS兼容...

    Javascript的IE和Firefox(火狐)兼容性

    ### Javascript的IE与Firefox(火狐)兼容性解决方案 在Web开发过程中,浏览器兼容性问题一直是开发者们关注的重点之一。由于不同的浏览器对于Web标准的支持程度存在差异,这导致了同样的代码在不同浏览器中的表现...

    IE6、IE7、IE8、Firefox兼容性CSS HACK代码+示例

    尤其是在处理旧版Internet Explorer(如IE6、IE7、IE8)与现代浏览器(如Firefox、Chrome等)之间的样式差异时,CSS Hack技巧成为了必不可少的工具。本文将深入探讨不同浏览器兼容性的CSS Hack代码及其实例,帮助...

    IE6.0、IE7.0 与FireFox CSS兼容的解决方法

    在网页设计中,CSS(层叠样式表)的兼容性问题常常困扰着开发者,尤其是在处理IE6.0、IE7.0与Firefox等不同浏览器之间的差异。以下是一些解决这些浏览器间CSS兼容问题的方法: 1. **DOCTYPE声明**:DOCTYPE声明会...

    css在firefox IE的兼容性(案例分析及解决方案)

    在网页开发过程中,CSS(层叠样式表)的兼容性问题常常是开发者面临的挑战,特别是在处理Firefox和Internet Explorer(IE)这两个浏览器时。Firefox和IE对CSS的理解和执行方式存在差异,导致某些样式在其中一个...

    让IE和火狐同时兼容

    特别是在早期的Web时代,Internet Explorer(简称IE)与Mozilla Firefox(简称火狐)这两款浏览器之间存在着显著的差异,这使得页面设计师不得不花费大量时间去解决它们之间的兼容性问题。本文将详细介绍如何使网站...

    JS和CSS的IE和Firefox兼容性

    在Web开发中,JavaScript(JS)和CSS的跨浏览器兼容性是开发者必须面对的重要挑战,尤其是针对用户基数庞大的Internet Explorer(IE)和Mozilla Firefox(MF)。本文将详细介绍一些常见的兼容性问题及解决方案。 ...

    javascript在firefox与ie下的兼容性总结

    JavaScript在Firefox和IE之间的兼容性问题一直是前端开发者面临的一大挑战。由于这两个浏览器内核的不同,导致在处理某些JavaScript特性时存在差异。以下是一些常见的兼容性问题及其解决方案: 1. **Document.form....

    CSS兼容IE和Firefox的技巧集合

    然而,由于不同的浏览器对CSS规范的实现存在差异,特别是Internet Explorer(IE)与Firefox,开发者常常面临兼容性问题。本文将深入探讨解决CSS在IE和Firefox之间兼容性问题的一些关键技巧。 首先,理解盒模型差异...

    CSS在IE6 IE7与FireFox下的兼容问题整理

    【CSS在IE6 IE7与FireFox下的兼容问题】 在Web开发中,CSS(层叠样式表)的兼容性问题一直是开发者面临的一大挑战,尤其是在早期的浏览器之间,如Internet Explorer (IE)的6、7版本和Firefox。这些浏览器对CSS标准...

    IE FIREFOX兼容性测试

    综上所述,“IE FIREFOX兼容性测试”是为了确保网站在IE和Firefox这两个重要浏览器上的良好体验。开发者应重视兼容性测试,并学习和掌握相应的解决策略,以提高网页的跨浏览器兼容性。提供的“IE-FIREFOX兼容.html”...

    ie与firefox兼容文档

    通过理解和运用这些知识点,开发者可以更好地处理IE与Firefox之间的兼容性问题,确保网站在不同浏览器上提供一致的用户体验。同时,随着Edge浏览器的普及和IE的逐渐淘汰,关注现代浏览器的兼容性也将变得更为重要。

    css样式表兼容总结,兼容火狐,ie6,ie7,FF

    标题中的“css样式表兼容总结,兼容火狐,ie6,ie7,FF”指的是在网页设计中,CSS样式表需要处理不同浏览器之间的兼容性问题,特别是老版本的Internet Explorer(IE6和IE7)以及Firefox。描述中的“css样式表火狐,ie6,ie...

Global site tag (gtag.js) - Google Analytics