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

IE和Firefox下margin的区别

 
阅读更多

问题出现的来由:
在网页应用margin-top属性时,发现IE和firefox下虽然有相同的值,但是具有不同的偏移量。
改进后:
#simple{
   position:absolute;
   margin-top:30px;   /*for IE*/
   margin-top:35px !important;/*for Firefox*/
}
注意:IE不识别 !important。其次,定义顺序,IE以最后一个属性的定义为最终的网页识别定义,虽然不识别!important,但是,IE识别了35px这个高度设置,在Firefox和Chrome下位置定位成功了,但是在IE下又失败了,下移了5个像素。
调整顺序,如下:
#simple{
   position:absolute;
   margin-top:35px !important;/*for Firefox*/
   margin-top:30px;   /*for IE*/
}
以为会成功,结果又失败了,其实Firefox也是识别最后一个属性定义值的。所以笔者紧急调用小宇宙,第一,必须解决定义的准确性,第二,必须解决不同浏览器的兼容问题,并且分开定义。
于是:
(1)在属性定义时,先做完整的闭合处理,即
margin:30px 0 0 0; /*上、右、下、左*/
(2)特别定义IE能识别,而其它浏览器不识别的处理,即
*margin:30px 0 0 0; /*IE 6, IE 7, IE 8 可识别*/
(3)定义两个margin,其中一个只让IE识别,另一个做一般化处理,即:
*margin:30px 0 0 0;  /*IE 6, IE 7, IE 8 可识别*/
margin:35px 0 0 0; /*一般化定义,也注意闭合,并且定义往下多占据5个像素*/

完整代码如下:
#simple{
   position:absolute;
   margin:35px 0 0 0;/*For ALL*/
   *margin:30px 0 0 0;   /*for IE6,7,8*/
}
测试,成功!

注意:仍然需要注意定义的顺序,如果颠倒顺序,IE最后仍识别margin-top:35px的属性。其它浏览器识别了第一个一般化定义之后,就不去关注*margin设置了,而IE识别了最后的*margin值,及top是30px的值,因此定义成功。

在这里,我们忽略了,由于一开始我所说的其它属性设置的兼容性影响,单独做margin的处理,这样,无论其它属性是否兼容,而最后这样的设置,使得高度和margin都兼容了!

分享到:
评论

相关推荐

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

    2. **居中对齐**:Firefox中,设置`div`的`margin-left`和`margin-right`为`auto`即可实现居中,但IE6和IE7需要通过设置`body`的`text-align`为`center`,然后让`div`的`margin`自动调整。 3. **高度和宽度的适应**...

    让IE和火狐同时兼容

    important`的情况下设置为`28px`,这可以有效地解决IE与Firefox之间`margin`计算方式的不同。 - 注释:当使用`!important`时,需要考虑到IE浏览器可能不会正确识别它。因此,建议使用类似`div { margin: 30px; ...

    margin在firefox与IE的兼容性设计

    然而,在Firefox和早期版本的IE中,对于某些情况下的`margin`处理存在不一致。例如,Firefox可能正确地解析和应用负值的`margin`,而IE可能无法正确处理,导致布局出现问题。 在提供的代码示例中,我们看到`#...

    多浏览器下IE6 IE7 firefox li 间距问题

    ### 解决多浏览器下IE6、IE7及Firefox中`<li>`元素间距兼容...通过以上方法,我们可以有效地解决多浏览器下尤其是IE5、IE5.5、IE6、IE7及Firefox中`<li>`元素间距兼容性问题,确保页面在各种浏览器中的一致性和美观性。

    IE与Firefox的CSS兼容大全

    2. **居中对齐**:Firefox可以通过设置`margin-left`和`margin-right`为`auto`使元素水平居中,但IE可能需要额外的`text-align: center`属性应用到父元素。 3. **宽度和高度**:Firefox在应用`padding`后会自动调整...

    Javascript在IE和FireFox中的兼容处理

    然而,由于不同浏览器的实现差异,特别是Internet Explorer(IE)和Firefox,开发者经常面临兼容性问题。以下是一些关键的JavaScript兼容处理策略: 1. **数组、集合类对象的元素访问** - IE支持`for...in`循环...

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

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

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

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

    margin-top在火狐和IE的区别

    标题“margin-top在火狐和IE的区别”涉及的是网页布局中关于CSS属性`margin-top`在不同浏览器,尤其是Firefox和Internet Explorer(IE)之间表现不一致的问题。在描述中提到,当设置`margin-top`时,可能会导致定位...

    IE与火狐常见的区别

    在网页设计和前端开发领域,了解不同浏览器之间的差异至关重要,尤其在处理Internet Explorer(IE)与Mozilla Firefox(火狐)时,由于两者对某些CSS属性和HTML标签的支持程度不同,开发者常需采取特定策略以确保...

    IE和FireFox的CSS兼容

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

    ie和火狐浏览器兼容问题

    在网页开发过程中,浏览器兼容性问题常常困扰着开发者,尤其是IE和Firefox之间的差异。以下是一些针对CSS在IE和Firefox浏览器中的兼容性问题及其解决策略: 1. **DOCTYPE影响CSS处理**:不同的DOCTYPE声明会影响...

    IE和Firefox之间兼容性问题

    ### IE和Firefox之间兼容性问题详解 #### 一、引言 随着Web技术的发展,不同浏览器之间的兼容性问题一直是前端开发者关注的重点。IE(Internet Explorer)浏览器和Firefox浏览器作为市场上较为流行的两种浏览器,在...

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

    尤其在2000年代中期,IE6、IE7 和 Firefox 的用户量占据了市场的大部分份额。由于这些浏览器对 CSS 的支持程度各不相同,导致网页设计者在开发过程中常常遇到兼容性问题。本文旨在详细介绍如何通过 CSS hack 技术...

    CSS兼容IE和Firefox的技巧集合

    ### CSS兼容IE和Firefox的技巧集合 #### 一、引言 随着Web技术的发展,不同浏览器之间的兼容性问题一直是前端开发者关注的重点。特别是在早期的Web开发中,Internet Explorer(IE)和Firefox这两种主流浏览器在CSS...

    DIV+CSS网页中IE和火狐兼容问题的整理

    - IE和Firefox对于上下相邻的块级元素的`margin`有不同的处理方式。 - IE6/7下,连续的负边距可能会被合并,导致布局错乱。 解决方法:使用`border`、`padding`或`clearfix`类防止边距重叠。 6. **CSS3属性支持...

    IE与Firefox的CSS兼容问题

    在设置`div`元素的`margin-left`和`margin-right`为`auto`时,Firefox和IE的行为存在差异。Firefox会正确地将左右边距均等分配,而IE则可能不会。开发者应通过精确设置边距值来避免这种不一致性,或使用`margin: ...

Global site tag (gtag.js) - Google Analytics