FireFox和IE中的CSS兼容 (2).doc

上传人:人*** 文档编号:560144764 上传时间:2023-03-30 格式:DOC 页数:14 大小:49.50KB
返回 下载 相关 举报
FireFox和IE中的CSS兼容 (2).doc_第1页
第1页 / 共14页
FireFox和IE中的CSS兼容 (2).doc_第2页
第2页 / 共14页
FireFox和IE中的CSS兼容 (2).doc_第3页
第3页 / 共14页
FireFox和IE中的CSS兼容 (2).doc_第4页
第4页 / 共14页
FireFox和IE中的CSS兼容 (2).doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《FireFox和IE中的CSS兼容 (2).doc》由会员分享,可在线阅读,更多相关《FireFox和IE中的CSS兼容 (2).doc(14页珍藏版)》请在金锄头文库上搜索。

1、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显示空格(约8

2、px)、firefox显示空格(约4px) 对不规范代码的兼容情况不同,IE中漏掉的关闭符号对显示不造成影响,而firefox中就会形成错乱的布局,而在ie中用到的padding和margin的负值都会被firefox解析为0,易造成布局的混乱;(我觉得好像负值在firefox中也是有显示的) firefox对于长高尺寸的严格解析会造成与设置不匹配(超出)的图片或表格将原设置div撑大; !important属性可以在除IE浏览器的其他浏览器中起作用,因此有人利用这种差别来令一个CSS兼容多种浏览器; 未定义id的div,在IE中会与div属性中的其他设置有关,而在firefox中的位置会于d

3、iv在文件中位置有关,紧随前一个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:

4、设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width(也没感觉,觉得设了padding,大家的高宽都变了) 在FF中可以实现的div 垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是要控制内容不要换行。这种方法在IE中实现不了。(已试过!有用) FF: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。 在浮动(

5、float)的div后加clear属性,这可以解决背景的自适应高度问题。怎么加才能让不同浏览器都好使?IE中有默认行高,这是要解决的问题。 FF中不支持文字的自动转行;什么word-wrap:break-word;word-break:break-all都是IE搞的鬼,根本就不符合css标准。(现在看到的解决办法都是通过编程实现) 2.css解决不同浏览器的兼容问题的方法 (不是我们需要的方法,我们要达到的要求是尽量不写!important也能解决)解决这种问题可以通过规范css代码,使其符合两种规范的标准样式,也可以在差别处利用!important对firefox设置属性,或者针对多种浏览器

6、分别各自配置合适的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使得层自动获得宽和高但

7、是有了第三种方法,这种方法好像并不值得推荐。另一种方法就是给第一个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:hi

8、dden在IE中好使,但在FF中却不能让背景颜色延续,除非加上边框。!挺有意思,还是不太懂.clearclear:both;line-height:1px好使!我理解是清的这个容器默认是行元素,所以高对它不起作用,所以你无论把height设置为几都没有效果,而line-height本身就是作用于行元素的,所以好使!上面理解的不对!重新理解是:IE里面有默认的行高,必须把行高给清掉,可以用font-size:0px或line-height:0px;但是这里又有一个问题,就是height的值不要用百分数,没有用!firefox火狐浏览器与ie浏览器在html代码. 本站整理 网络搜集 2008-0

9、4-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、高度问题设有两横

10、行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

11、产生的双倍距离#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%,除非设定一个宽度, ,

12、 , , 和 是块元素的例子。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-l

13、eft: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命令,它可以

14、指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。整体最窄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: a

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号