我的编程空间,编程开发者的网络收藏夹
学习永远不晚

IE、Firefox等浏览器不兼容原因及解决方法是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

IE、Firefox等浏览器不兼容原因及解决方法是什么

这篇文章给大家介绍IE、Firefox等浏览器不兼容原因及解决方法是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

你对,IE、Firefox等浏览器不兼容原因及解决方法是否了解,这里和大家分享一下。

浏览器不兼容原因及解决方法

浏览器不兼容原因及解决方法,归纳几点:

 1.文字大小不兼容。同样是font-size:14px的宋体文字,在不同浏览器下占的空间是不一样的,IE下实际占高16px,下留白3px,ff下实际占高17px,上留白1px,下留白3px,opera下就更不一样了。解决方案:给文字设定line-height。确保所有文字都有默认的line-height值。这点很重要,在高度上我们不能容忍1px的差异。

2.Firefox下容器高度限定,即容器定义了height之后,容器边框的外形就确定了,不会被内容撑大,而IE下是会被内容撑大,高度限定失效。所以不要轻易给容器定义height。

3.还讨论内容撑破容器问题,横向上的。如果float容器未定义宽度,ff下内容会尽可能撑开容器宽度,IE下则会优先考虑内容折行。故,内容可能撑破的浮动容器需要定义width。

小实验:有兴趣大家可以看看这段实验。在不同浏览器下分别测试以下各项代码。

<divstyledivstyle=”border:1pxsolidred;height:10px”>div> <divstyledivstyle=”border:1pxsolidred;width:10px”>div> <divstyledivstyle=”border:1pxsolidred;float:left”>div> <divstyledivstyle=”border:1pxsolidred;overflow:hidden”>div>

上面的代码在不同浏览器中是不一样的,实验起源于对小height值div的运用,,小height值要配合overflow:hidden一起使用。实验好玩而已,想说明的是,浏览器对容器的边界解释是大不相同的,容器内容的影响结果各不相同。

4.浮动的清除,Firefox下不清除浮动是不行的。

纠正大家一个误区,遇到不兼容就说ff烂是不对的,其实更多时候是IE的奇怪表现让我们无所适从。

5.最被痛恨的double-marginbug.IE6下给浮动容器定义margin-left或者margin-right实际效果是数值的2倍。解决方案,给浮动容器定义display:inline。

6.mirrormarginbug。当外层元素内有float元素时,外层元素如定义margin-top:14px,将自动生成margin-bottom:14px.padding也会出现类似问题,都是IE6下的特产,该类bug出现的情况较为复杂,远不只这一种出现条件,还没系统整理。解决方案:外层元素设定border或设定float。

引申:ff和IE下对容器的margin-bottom,padding-bottom的解释有时不一致,似乎与之相关。

7.吞吃现象。还是IE6,上下两个div,上面div设置背景,却发现下面没有设置背景的div也有了背景,这就是吞吃现象。对应上面的背景吞吃现象,还有滚动下边框缺失的现象。解决方案:使用zoom:1.这个zoom好象是专门为解决IE6bug而生的。

8.注释也能产生bug。多出来的一只猪,这是前人总结这个bug使用的比喻。IE6的这个bug下,大家会在页面看到猪字出现两遍,重复的内容量因注释的多少而变。解决方案:用“<!–[if!ie]>picRotatestart<![endif]–>”方法写注释。

9.

  • 里加float

    。这是一个典型的,棘手的兼容问题,希望引起大家正视,给li不同的属性会有不同的解释效果,ff下的解释稍可理解,IE6下的解释会让你摸不着头脑,由于问题的复杂性,将另起一文专门讨论该问题。在《ul使用心得》一文里有相关成果,却没给出问题解决过程。

10.使用了“float:left;display:inline”的ul的奇怪表现。可以看出这句css是针对IE6下的doublemarginbug而加上的display:inline,这也是我的css体系里的重要一环,在《ul使用心得》一文中有相关阐述。而这句css用在ul上会让你痛苦不堪。点到为止,这里不能多说。

11.img下的留白,大家看这段代码有啥问题:

<div> <imgclass="lazy" data-srcimgclass="lazy" data-src=”"mce_class="lazy" data-src=”"/> div>

把div的border打开,你发现图片底部不是紧贴着容器底部的,是img后面的空白字符造成,要消除必须这样写

<div> <imgclass="lazy" data-srcimgclass="lazy" data-src=”"mce_class="lazy" data-src=”"/> div>

后面两个标签要紧挨着.IE7下这个bug依然存在。解决方案:给img设定display:block。

12.失去line-height。文字,很遗憾,在IE6下单行文字line-height效果消失了…,原因是这个inline-block元素和inline元素写在一起了。解决方案:让img和文字都float起来。

引申:大家知道img的align有text-top,middle,absmiddle啊什么的,你可以尝试去调整img和文字让他们在IE和ff下能一致,你会发现怎么调都不会让你满意。索性让img和文字都float起来,用margin调整。

13.链接的hover状态.a:hoverimg{width:300px}我们想让鼠标hover时,链接里包含的图片宽度变化,可惜在IE6下无效,IE7、ff下有效。

14.非链接的hover状态.div:hover{}这样的样式IE6是不认的,在IE7、ff下才有效果。

15.block化的a链接,其内套absolute层,absolute层内放置img,IE下,鼠标点击img不会有链接效果,ff、op下正常。

上面的诸多问题如果你掌握了其中奥妙,90%的不兼容问题不需要另起csshack的。

16.无法彻底清除的float。如果让ul下的li具有了float属性,如何clear浮动的li呢?

或者

  • class=”c”>

或者


  • class=”c”>

或者


class=”c”>

或者上述的组合?这个问题,我无法给出解答。

下面有个例子与此相关

<!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//EN   http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>  <styletypestyletype=text/css> .c{clear:both;overflow:hidden;+overflow:visible}  .bd{border:1pxsolidred}   ul.ex{list-style:none;}  ul.exli{float:left;border:1pxsolidgreen;}  style> <ulclassulclass=ex> <li>sfsdfsfdfli> <li>sfsdfsfdfli> ul> <divclassdivclass=c>div> <divclassdivclass=bdstyle=margin-top:19px>sfsdfsfdfdiv>

请在IE下测试,仅仅将margin-top:19px改为margin-top:20px你发现什么了?要素:doctype必须有,IE6、IE7下margin-top:19px还好好的,margin-top:20px就出问题了,无法解释…大家还可以将clear层换不同的位置测试。

解决方案:给ul属性zoom:1(给li加zoom:1没用)

引申:clear层应该单独使用。也许你为了节省代码把clear属性直接放到下面的一个内容层,这样有问题,不仅仅是ff和op下失去margin效果,IE下某些margin值也会失效

<divstyledivstyle=”background:red;float:left;”>dddiv> <divstyledivstyle=”clear:both;margin-top:18px;background:green”>ffdiv>

17.IE下overflow:hidden对其下的绝对层position:absolute或者相对层position:relative无效。解决方案:给overflow:hidden加position:relative或者position:absolute。另,IE6支持overflow-x或者overflow-y的特性,IE7、ff不支持。

18.IE6下严重的bug,float元素如没定义宽度,内部如有div定义了height或zoom:1,这个div就会占满一整行,即使你给了宽度.float元素如果作为布局用或复杂的容器,都要给个宽度的。

19.IE6下的bug,绝对定位的div下包含相对定位的div,如果给内层相对定位的div高度height具体值,内层相对层将具有100%的width值,外层绝对层将被撑大。解决方案给内层相对层float属性。

20.IE6下的bug,内有的情况下,position:relative层下的float层内文字无法选中。这个bug迫使我修公用样式库。

21.终于来了个Firefox缺点width:100%这个东西在IE里用很方便,会向上逐层搜索width值,忽视浮动层的影响,ff下搜索至浮动层结束,如此,只能给中间的所有浮动层加width:100%才行,累啊.opera这点倒学乖了跟了IE。

22.Paddingvs.Margin
对于浏览器来说,Margin是兼容性最差的一个属性。因此只要条件允许,尽可能的使用Padding属性。

关于IE、Firefox等浏览器不兼容原因及解决方法是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

IE、Firefox等浏览器不兼容原因及解决方法是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

win7系统IE浏览器提示网站还原错误的原因及解决方法

Win7系统IE浏览器提示网站还原错误可能有以下原因和解决方法:1. 网站还原错误可能是由于浏览器缓存问题导致的。解决方法可以尝试清除浏览器缓存。在IE浏览器中,可以点击工具栏上的“工具”按钮,然后选择“Internet选项”,在弹出的对话
2023-08-28

firefox浏览器中播放背景音乐的解决方法是什么

firefox浏览器中播放背景音乐的解决方法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在Firefox下播放背景音乐的代码 打开一个空白控制面板粘贴下
2023-06-08

MySQL打不开的原因及解决方法是什么

MySQL打不开的原因有很多,并且需要根据具体情况来进行排查和解决。以下是一些常见的原因和解决方法:MySQL服务未启动:检查MySQL服务是否已经启动,可以使用命令行或者服务管理工具来启动MySQL服务。解决方法:启动MySQL服务。端
MySQL打不开的原因及解决方法是什么
2024-02-29

XP系统IE浏览器“你的浏览器已升级”弹出窗口的解决方法是什么

本篇内容主要讲解“XP系统IE浏览器“你的浏览器已升级”弹出窗口的解决方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“XP系统IE浏览器“你的浏览器已升级”弹出窗口的解决方法是什么”吧!
2023-06-13

burpsuite打不开的原因及解决方法是什么

Burp Suite打不开的原因有很多,可能是由于以下几个常见问题:1. Java环境:Burp Suite是基于Java开发的,如果没有正确安装Java环境或者Java版本不兼容,就无法启动Burp Suite。解决方法是确保已正确安装了
2023-08-18

浏览器写php只显示代码的原因是什么及如何解决

这篇文章主要介绍“浏览器写php只显示代码的原因是什么及如何解决”,在日常操作中,相信很多人在浏览器写php只显示代码的原因是什么及如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”浏览器写php只显示代
2023-07-05

MySQL启动不了的原因及解决方法是什么

MySQL启动不了的原因可能有很多,常见的原因及解决方法如下:端口被占用:可能是由于其他程序占用了MySQL默认的端口(3306)。可以通过更改MySQL配置文件(my.cnf)中的端口号来解决。配置文件错误:MySQL的配置文件(my.c
2023-10-24

centos登录不了的原因及解决方法是什么

CentOS登录不了的原因可能有多种,常见的原因有以下几种:1. 用户名或密码错误:确保输入的用户名和密码是正确的,特别注意大小写是否正确。2. SSH服务未启动或配置错误:确保SSH服务已启动,并且配置文件/etc/ssh/sshd_co
2023-08-25

电脑不启动的原因及解决方法是什么

电脑不启动的原因多种多样,可能是硬件故障、软件问题、电源故障等。以下是一些常见的原因及解决方法:1. 电源故障:检查电源插头是否插好,电源线是否接触良好,尝试更换电源线或电源适配器;2. 内存故障:将内存重新插拔一次,确保插好;尝试更换或重
2023-09-07

MySQL安装不了的原因及解决方法是什么

MySQL安装不了的原因可能有以下几点:1. 系统环境不兼容:MySQL可能不支持当前操作系统的版本或架构。解决方法:确保使用的操作系统版本和MySQL的要求相匹配。2. 其他软件冲突:可能与其他软件或服务存在冲突,导致MySQL安装失败。
2023-10-09

win10打不了字的原因及解决方法是什么

Win10打不了字的原因一般有以下几种:1. 键盘故障:可能是键盘连接不稳或键盘损坏导致无法输入文字。解决方法:检查键盘连接是否松动,尝试重新连接键盘,或者更换一个可靠的键盘。2. 输入法设置错误:可能是输入法设置不正确导致无法输入文字。解
2023-10-18

sql while不能用的原因及解决方法是什么

在SQL中,不存在while循环,而是使用迭代和递归来实现循环逻辑。因此,如果想要使用类似于while循环的功能,可以通过以下方法实现:使用递归:通过递归函数来模拟while循环的功能,即在函数内部调用自身来实现循环逻辑。使用游标:在存储过
sql while不能用的原因及解决方法是什么
2024-04-09

vps不断重启的原因及解决方法是什么

VPS不断重启的原因可能有多种,包括但不限于以下几个方面:1. 硬件故障:VPS所在的物理服务器可能存在硬件故障,如电源问题、内存故障等,导致VPS不断重启。解决方法:联系VPS提供商,报告问题并请求他们检查和修复物理服务器的硬件问题。2.
2023-09-14

randint函数用不了的原因及解决方法是什么

randint函数用不了的原因可能是因为没有正确导入random模块。要使用randint函数,需要先导入random模块。解决方法是在代码中添加以下导入语句:```pythonimport random```然后就可以使用random模块
2023-08-11

阿里云服务器浏览器IP地址打不开网页的原因及解决方法

随着互联网技术的发展,越来越多的企业和个人开始使用云服务器来存储和运行网站。然而,在使用阿里云服务器时,用户可能会遇到浏览器无法打开网页的问题。本文将分析这个问题的原因,并提供相应的解决方法。一、阿里云服务器浏览器IP地址打不开网页的原因网络连接问题:用户在使用阿里云服务器时,如果网络连接出现问题,可能会导致浏览
阿里云服务器浏览器IP地址打不开网页的原因及解决方法
2023-11-04

Win8.1系统IE浏览器提示加载项与增强安全功能不兼容的解决方法图文教程

电脑安装上win8.1系统后自带有IE浏览器,备受大家喜爱。Win8.1系统为了增强IE浏览器的安全性,添加了增强保护模式,但是开启该模式会导致现有的许多插件无法工作,提示“加载项与增强安全功能不兼容”,有什么办法能
2022-06-04

编程热搜

目录