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。
小实验:有兴趣大家可以看看这段实验。在不同浏览器下分别测试以下各项代码。
div> div> div> 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> 把div的border打开,你发现图片底部不是紧贴着容器底部的,是img后面的空白字符造成,要消除必须这样写
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">
或者上述的组合?这个问题,我无法给出解答。
下面有个例子与此相关
.c{clear:both;overflow:hidden;+overflow:visible} .bd{border:1pxsolidred} ul.ex{list-style:none;} ul.exli{float:left;border:1pxsolidgreen;} style> sfsdfsfdfli> sfsdfsfdfli> ul> div> 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值也会失效
dddiv> 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等浏览器不兼容原因及解决方法是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
容器 问题 浏览器 浏览 内容 文字 方案 解决方案 浮动 元素 属性 原因 方法 不同 宽度 效果 解释 链接 代码 外层 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 传奇世界手游技能数据库 南京市网络安全领导小组 宿州市软件开发 中国移动服务器第一批次集采 两台服务器直连技术 通信网络安全等级评审文件 画图软件开发 饥荒服务器管理器 中国科学技术学会数据库 pl sql查询锁表数据库 固定ip如何接入dchp服务器 数据库视图管理工具 怎样在表格里找部分数据库 金额宝互联网信息科技有限公司 客户端性能不足补充式服务器 usb服务器 四川app软件开发正规平台 怎样制作局域网视频服务器 网络安全法第59条罚款 阅读文章时怎样选择服务器 新华社 数据库 代理服务器上网不通ip 如何用表格中的数据库 上海正规软件开发哪家专业 濮阳宜律网络技术有限公司 浙江数据网络技术市场价格 cmd打开远程服务器应用 北京品质软件开发供应 建筑工程技术计算机网络技术 ebsco数据库搜索au