`
Pweb
  • 浏览: 55280 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

浅谈IE与Firefox对CSS的不同解析

    博客分类:
  • CSS
阅读更多

其实,以前从来没有接触过CSS相关的内容,都是在做业务的编程,从来没想过前台页面的设计也能如此复杂。这次项目的开过过程中,作为CSS菜鸟的我也接触到CSS的相关设计。所出现的低级问题和浪费很多时间的状况也层出不穷,所以通过各方搜索和自己的实际学习中总结出几点IE和Firefox对 CSS的区别,给大家借鉴。

首先,大家都知道,IE和Firefox针对于核模型的解析就不一样,自然会产生很多让人挠头的问题,以下就是我的经验总结:

1.高度的区别

IE:在没有定义高度时候,将根据内容高度的变化,包括未定义高度的图片内容;

在定义了高度时候,当内容超过高度时,将使用实际内容的高度。

FF:在没有定义高度时,如果内容中包括了图片内容,MF的高度解析是根据印刷标准,这样就会造成和实际内容高度不符合的情况;

在当定义了高度,但是内容超过高度时,内容会超出定义的高度,但是区域使用的样式不会变化,造成样式错位。

建议:在可以确定内容高度的情况下最好定义高度,如果真的没有办法定义高度,尽量不用使用边框样式。

2.宽度的区别

IE:内容宽度=您定义的容器宽度(Internet Explorer ’width’)-padding宽度-border宽度。

IE中定义 width:100px;padding:5px 的话,所显示的宽度就是100px。

FF:容器占的宽度=内容宽度+padding宽度+border宽度。

Firefox中定义 width:100px;padding:5px 的话,所显示的宽度就是105px。

建议:使用 !important;但是,!important一定要在前面。

如:width:95px !important;width:100px;padding:5px;。

注:高度亦是如此!

3.浮动(float)的区别

(1)空格处理

IE:对于DIV并排时候使用float关键字时候,IE对块与块之间的空格是处理的。

FF:对于DIV并排时候使用float关键字时候,Firefox对块与块之间的空格是不处理的。

建议:经常发现使用float关键字时候在Firefox显示正常,但是在IE中会出现空格,就是这个原因;

避免在div连div时候添加空格或者回车,也即是一个div紧接这一个div写;

或者,将div放入li中进行处理,这样就不会有空格的问题。

(2)Margin加倍

IE:在使用float的情况下,IE的margin加倍。

FF:正常显示。

建议:针对IE,添加display:inline;


相应的css为

#float{

float:left;

margin:5px;/*IE下理解为10px*/

display:inline;/*IE下再理解为5px*/

}

4.鼠标位置处理

IE:获取事件鼠标位置时,IE用的是event.x和event.y,并且值在不加单位的情况下可以直接使用,IE提供默认单位;

div.style.left = event.x

div.style.top = event.y

此时,div显示的位置为鼠标的位置。

FF:获取事件鼠标位置时,Firefox用的是MouseEvent.pageX和MouseEvent.pageY,并且在不加单位的情况下直接赋值后,无效;必须添加单位。

div.style.left = MouseEvent.pageX

div.style.top = MouseEvent.pageY

此时,div显示的位置为0,0.

建议:都添加单位,无论针对IE或者Firefox都有效。

IE:div.style.left = event.x+'px'

div.style.top = event.y+'px'

FF:div.style.left = MouseEvent.pageX+'px'

div.style.top = MouseEvent.pageY+'px'

针对IE与Firefox这些不同,解决方案可以有多种,但是当问题直接解析模型的不同的时候,我们只能分别针对浏览器的不同而单独写针对于浏览器的方法。这也是写精致CSS所必须懂得的。

以上纯属个人愚见,希望对新学CSS的同学有所帮助。

分享到:
评论

相关推荐

    IE与Firefox对CSS的不同解析

    其实,以前从来没有接触过CSS相关的内容,都是在做业务的编程,从来没想过...所出现的低级问题和浪费很多时间的状况也层出不穷,所以通过各方搜索和自己的实际学习中总结出几点IE和Firefox对CSS的区别,给大家借鉴。

    IE与Firefox的CSS兼容大全

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

    IE与Firefox的CSS兼容大全.rar

    在网页设计领域,IE(Internet Explorer)和Firefox是两种截然不同的浏览器,它们对CSS(Cascading Style Sheets,层叠样式表)的支持存在一定的差异。"IE与Firefox的CSS兼容大全"是一个针对这两个浏览器之间CSS兼容...

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

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

    IE与Firefox的CSS兼容问题

    在Web开发中,确保不同浏览器之间的CSS兼容性是一项挑战性的任务,尤其是在处理Internet Explorer(IE)与Firefox这两种具有显著差异的浏览器时。本文将深入探讨IE与Firefox在CSS解析上的主要差异,以及如何解决这些...

    CSS兼容大全IE5,IE5.5,IE6,IE7,Firefox,Opera,Safari等浏览器

    CSS 兼容大全是指在不同的浏览器中,例如 IE5,IE5.5,IE6,IE7,Firefox,Opera,Safari 等,如何使网页正常显示的技术。这个技术的核心是 CSS Hack,即针对不同的浏览器写不同的 CSS 代码,使得网页在不同的浏览器中都能...

    css规范_IE bug,IE与Firefox的CSS兼容问题.....整理

    本文主要探讨了针对IE浏览器,尤其是IE与Firefox之间存在的CSS兼容性问题,并提供了一些解决方案和编写高效、维护友好的CSS代码的规范。 一、使用CSS方法 遵循W3C标准编写CSS,避免使用非标准或过时的属性,这将有...

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

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

    CSS hack 针对IE6,IE7,firefox显示不同效果

    针对IE6、IE7和Firefox显示不同效果的CSS hack是前端开发中常见的需求,特别是在使用CSS+DIV布局时。本文将详细讲解如何使用CSS hack来区分这三种浏览器,并提供一些实用的技巧和方法。 首先,我们需要了解IE6、IE7...

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

    然而,由于不同浏览器的解析方式存在差异,尤其是在Internet Explorer(IE)和Firefox之间,CSS兼容性问题时常困扰着开发者。本文将深入探讨如何解决CSS在IE与Firefox下的兼容问题,帮助你的网页在各种浏览器中展现...

    IE和FireFox的CSS兼容

    在前端开发中,CSS兼容性是一个常见的挑战,尤其是在处理IE和Firefox这两个浏览器时。由于它们对CSS标准的实现存在差异,导致在不同浏览器下显示的效果可能不尽相同。以下是一些关键点,帮助开发者理解和解决这些...

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

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

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

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

    IE和Firefox在css,JavaScript方面的兼容性

    标题与描述均聚焦于“IE和Firefox在css,JavaScript方面的兼容性”,这涉及到网页开发中一个重要的议题:浏览器兼容性。在web开发中,确保代码能在不同浏览器上正常运行是至关重要的,因为用户可能使用各种不同的...

    cssHack样式解析

    在 CSS Hack 中,我们需要考虑浏览器的优先级别,例如 Firefox < IE7 < IE6。因此,我们需要按照这个顺序来写 CSS Hack,例如: `#demo {width:100px;} /*被 FIREFOX,IE6,IE7 执行.*/ * html #demo {width:120px;} ...

    针对firefox ie6 ie7 ie8的css样式hack

    在进行Web开发的过程中,我们经常会遇到浏览器兼容性问题,尤其是早期的Internet Explorer(IE)版本如IE6、IE7和IE8与现代浏览器如Firefox之间的差异。为了确保网站能够在不同浏览器下正常显示,开发者需要使用特定...

    javascript和css在IE和Firefox中的不同点

    JavaScript 和 CSS 在不同的浏览器上,特别是 Internet Explorer (IE) 和 Mozilla Firefox 之间存在一些差异,这些差异主要体现在解析规则、实现细节以及某些功能的支持上。理解这些差异对于编写跨浏览器兼容的代码...

Global site tag (gtag.js) - Google Analytics