




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FireFox和IE中的CSS兼容1.css在不同浏览器下显示效果不同firefox和IE对某些css样式的认定有不少区别,包括: ul和ol的默认padding值是不一样的,在Firefox中,padding-left默认值为40px左右,而IE中为0,一般设置ulmargin:0;padding:0;就能解决大部分问题 对字体大小small的定义不同,Firefox中为13px,而IE中为16px,差别挺大,也只能设置为14px了事;(暂时没有发现) 并列排列的多个元素(图片或者链接)的代码中的空格和回车会造成元素之间的间隙,而在firefox中和在IE中显示是不一样的,IE显示空格(约8px)、firefox显示空格(约4px) 对不规范代码的兼容情况不同,IE中漏掉的关闭符号对显示不造成影响,而firefox中就会形成错乱的布局,而在ie中用到的padding和margin的负值都会被firefox解析为0,易造成布局的混乱;(我觉得好像负值在firefox中也是有显示的) firefox对于长高尺寸的严格解析会造成与设置不匹配(超出)的图片或表格将原设置div撑大; !important属性可以在除IE浏览器的其他浏览器中起作用,因此有人利用这种差别来令一个CSS兼容多种浏览器; 未定义id的div,在IE中会与div属性中的其他设置有关,而在firefox中的位置会于div在文件中位置有关,紧随前一个div出现(有待尝试) 设置为float的div在ie下设置的margin会加倍的,特别是margin-left,这是ie6的一个bug。解决的方法是在这个div里面加上display:inline; 如果是动态地添加内容,高度最好不要定义。浏览器可以自动伸缩,然而如果是静态的内容,高度最好定好。(似乎有时候不会自动往下撑开,不知道具体怎么回事) FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行。IE里设置text-align:center,就居中了,但在FF中不行。所以一般两个都要设置。 FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width(也没感觉,觉得设了padding,大家的高宽都变了) 在FF中可以实现的div 垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行。这种方法在IE中实现不了。(已试过!有用) FF: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。 在浮动(float)的div后加clear属性,这可以解决背景的自适应高度问题。怎么加才能让不同浏览器都好使?IE中有默认行高,这是要解决的问题。 FF中不支持文字的自动转行;什么word-wrap:break-word;word-break:break-all都是IE搞的鬼,根本就不符合css标准。(现在看到的解决办法都是通过编程实现) 2.css解决不同浏览器的兼容问题的方法 (不是我们需要的方法,我们要达到的要求是尽量不写!important也能解决)解决这种问题可以通过规范css代码,使其符合两种规范的标准样式,也可以在差别处利用!important对firefox设置属性,或者针对多种浏览器分别各自配置合适的CSS文件,再通过判断浏览器选择不同CSS实现兼容性。 代码如下:#example color: #333; /* FF*/* html #example color: #666; /* IE6 */*+html #example color: #999; /* IE7 */这样在IE6中显示字体颜色是#666;在IE7中显示的字体颜色是#999;在FF中显示的颜色是#3333.FF解决背景的自适应高度问题对于背景不能自动延伸的原因上面说的很清楚,解决方法是多嵌套一个层,这个层设置浮动,并承担背景,就ok了。 下面就简单示意一下 可以这么理解:float使得层自动获得宽和高但是有了第三种方法,这种方法好像并不值得推荐。另一种方法就是给第一个div赋予属性值:display:table;但这种方法会造成另外一些布局上的错误。可以考虑使用,但不建议使用。我想这是最重要的一种方法,但是中间问题很多。方法就是clear:both。.clearclear:both可以使高度向下延续,但是会自动产生行高;.clearclear:both;height:0在FF中清除了行高,但是IE里不认;.clearclear:both;height:1%在FF和IE中仍然不认;像之前写的.clearclear:both;height:1%;font-size:0px;overflow:hidden在IE中好使,但在FF中却不能让背景颜色延续,除非加上边框。!挺有意思,还是不太懂.clearclear:both;line-height:1px好使!我理解是清的这个容器默认是行元素,所以高对它不起作用,所以你无论把height设置为几都没有效果,而line-height本身就是作用于行元素的,所以好使!上面理解的不对!重新理解是:IE里面有默认的行高,必须把行高给清掉,可以用font-size:0px或line-height:0px;但是这里又有一个问题,就是height的值不要用百分数,没有用!firefox火狐浏览器与ie浏览器在html代码. 本站整理 网络搜集 2008-04-02 点击: 5 字体:大 中 小 我要评论 本文讲解了firefox火狐浏览器与ie浏览器在html代码编写时的差异,程序员有进行开发调试时,可按下面说到的HTML标签进行调试.1.ul不同,ie下默认是margin留白,FF下默认是padding留白,所以要先用margin:0;padding:0;来实现兼容。2.给定高度后,当内容过多,真实高度大于给定高度时,两者不同还有呢?在ff测试div+css的过程中发现不少问题,主要原因是代码的不规范书写。1、居中问题div里的内容,ie默认为居中,而ff默认为左对齐。使ff内容居中的方法是增加代码margin:auto;2、高度问题设有两横行div排列,上面的div设置高度(height),如果div里的实际内容大于所设高度,在ff中会出现两个div重叠的现象;但在ie中, 下面的div会自动给上面的div让出空间。所以为避免出现层的重叠,高度一定要控制恰当,或者干脆不写高度,让他自动调节。或者设置:overflow:hidden3、clear:both;拿footer为例,有时候如果上面使用 了float控制的n列的布局,那么在用ff浏览时footer很有可能不老实,到处乱动因为他还在受到浮动(float)的控制。如果想让它老老实 实呆在页面下方,在footer的div中写入clear:both;就可以达到效果了!4、浮动ie产生的双倍距离#boxfloat:left;width:100px;margin:0 0 0 100px; /这种情况之下IE会产生200px的距离display:inline; /使浮动忽略5、重点讲解:display:block,inline两个元素 display(显示)display:block; /可以为内嵌元素模拟为块元素display:inline; /实现同一行排列的的效果diplay:table; /for ff,模拟table的效果Display:block元素的特点是:总是在新行上开始;高度,行高以及顶和底边距都可控制;宽度缺省是它的容器的100%,除非设定一个宽度, , , , 和 是块元素的例子。display:inline就是将元素显示为行内元素.inline元素的特点是:和其他元素都在一行上;高,行高及顶和底边距不可改变;宽度就是它的文字或图片的宽度,不可改变。, , , , , 和是inline元素的例子。例子:无标题文档#inlinewidth:400px; height:40px;background:#99CCCC;padding:15px 0px 0px 15px#inline ul margin:0px; list-style:none;#inline ul lidisplay:inline; font-size:12px;margin-left:5px#blockwidth:400px; height:40px;background:#FFCC99;padding:15px 0px 0px 15px#block ul margin:0px; list-style:none;#block ul lidisplay:block; font-size:12px;height:20px#div_inline width:800px;display:inline;height:120px;天天招生网心血管网高血压网先心病网天天招生网心血管网高血压网先心病网6、IE与FF宽度和高度的问题min -width是个非常方便的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。整体最窄770px,最宽1024px,也就 是说窗口小于770xp就出底部滚动条,如果大于1024px自动屏幕居中。IE不认得min-这个定义,但实际上它把正常的width和height当 作有min的情况来使。这样,如果只用宽度和高度,正常的浏览器里这两个值就不会变,如果只用min-width和min-height的话,IE下面根 本等于没有设置宽度和高度。CSS这样设计:#containermin-width: 600px;width:expression(document.body.clientWidth 600? 600px: auto );第一个min-width是正常的;但第2行的width使用了Javascrpt,这只有IE才认得,这也会让你的HTML文档不太正规。它实际上通过Javascrpt的判断来实现最小宽度。同样的办法也可以为IE实现最大宽度:#containermin-width: 600px;max-width: 1200px;width:expression(document.body.clientWidth 1200? ”1200px“ : ”auto;7、FF: 支持 !important, IE 则忽略,可用 !important (例:height:30px!important; height:26px;)为 FF 特别设置样式div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行cursor: pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以FF: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行(背景图片需要设置 float: left )。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格在FF和IE中的BOX模型解释不一致导致相差2px解决方法:divmargin:30px!important;margin:28px;注意这两个margin的顺序一定不能写反,据阿捷的说法!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样:div css xhtml xml Example Source Code Example Source Code divmaring:30px;margin:28px重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!important;在Firefox/Mozilla 浏览器中,对象的实际宽度= (margin-left) + (border-left-width) + (padding- left) + width + (padding-right) + (border-right-width) + (margin-right);而在IE/Opera浏览器中,对象的实际宽度 = (margin-left) + width + (margin-right)。火狐浏览器和IE浏览器下CSS兼容问题2009-03-13 16:34CSS对浏览器器的兼容性具有很高的价值,通常情况下IE和火狐浏览器存在很大的解析差异,今天和大家谈谈火狐浏览器和IE浏览器下CSS兼容的问题,并推荐两篇不错的文章给大家:网页设计师必备的火狐扩展 和 IE和火狐的css兼容性问题汇总,下面进入正题: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 和 width5.FF: 支持 !important, IE 则忽略, 可用 !important 为火狐特别设置样式6.div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行7.cursor: pointer 可以同时在 IE、火狐中显示游标手指状, hand 仅 IE 可以8.FF: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格。9.在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法: divmargin:30px!important;margin:28px;注意这两个margin的顺序一定不能写反,据阿捷的说法! important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样: divmaring:30px;margin:28px重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx! important;11.ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值所以先定义 ulmargin:0;padding:0;就能解决大部分问题注意事项:1、float的div一定要闭合。例如:(其中floatA、floatB的属性已经设置为float:left;) 这里的NOTfloatC并不希望继续平移,而是希望往下排。这段代码在IE中毫无问题,问题出在火狐浏览器。原因是NOTfloatC并非float标签,必须将float标签闭合。在 之间加上 这个div一定要注意声明位置,一定要放在最恰当的地方,而且必须与两个具有float属性的div同级,之间不能存在嵌套关系,否则会产生异常。并且将clear这种样式定义为为如下即可: .clearclear:both;此外,为了让高度能自动适应,要在wrapper里面加上overflow:hidden;当包含float的box的时候,高度自动适应在IE下无效,这时候应该触发IE的layout私有属性,用zoom:1;可以做到,这样就达到了兼容。例如某一个wrapper如下定义: .colwrapperoverflow:hidden;zoom:1;margin:5px auto;2、margin加倍的问题设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。解决方案是在这个div里面加上display:inline;例如:相应的css为#IamFloatfloat:left;margin:5px;/*IE下理解为10px*/display:inline;/*IE下再理解为5px*/3、关于容器的包涵关系很多时候,尤其是容器内有平行布局,例如两、三个float的div时,宽度很容易出现问题。在IE中,外层的宽度会被内层更宽的div挤破。一定要用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025黑龙江东北大学非专任教师岗位招聘65人考前自测高频考点模拟试题附答案详解(突破训练)
- 2025广西石化分公司春季高校毕业生招聘20人考前自测高频考点模拟试题及答案详解(夺冠系列)
- 2025广东佛山市顺德农商银行总行数字银行部社会招聘考前自测高频考点模拟试题及参考答案详解一套
- 2025年第十三届贵州人才博览会省委金融办所属事业单位人才引进1人模拟试卷及答案详解(网校专用)
- 2025广东狮山镇镇属一级公司副职领导招聘1人模拟试卷及答案详解(典优)
- 2025广西旅发集团广西自贸区医院管理有限公司招聘94人模拟试卷及答案详解(全优)
- 2025年中国活性黄160行业市场分析及投资价值评估前景预测报告
- 2025江苏张家港检验认证有限公司招聘1人考前自测高频考点模拟试题有完整答案详解
- 2025年黑河逊克县乡村医生公开招聘19人考前自测高频考点模拟试题及参考答案详解
- 2025河南新乡育才高级中学新乡市育才实验学校招聘70人模拟试卷及答案详解(新)
- 人工智能基础与应用(第2版)全套教学课件
- 收银标准化培训课件
- 高血压与气温的关系
- 大学生活与高中生活的对比分析
- 《同人作品著作权法律问题研究》
- (新版标准日本语初级下册)第25课 教学课件 知识点+练习
- 德国企业的共同治理模式
- 集成电路器件与SPICE模型9
- 民宿经营管理培训教材
- 住院医师规范化培训临床实践能力结业考核专科技能操作评分表(皮肤科)真菌镜检
- 2022年宜昌市不动产登记中心事业单位工作人员招聘笔试试题及答案
评论
0/150
提交评论