DIV+CSS解决IE6,IE7,IE8,FF兼容问题

    1.ie8下兼容问题,这个最好处理,转化成ie7兼容就可以。在头部加如下一段代码,然后只要在IE7下兼容了,IE8下面也就兼容了

<meta http-equiv="x-ua-compatible" content="ie=7" />

2.flaot浮动造成IE6下面双倍边距问题,这个最常见,也最好处理,!important解决,比如

margin-left:10px !important;/*IE7,IE8,FF下是10PX*/;

margin-left:5px;/*IE6下属性写的是5PX,但在显示出来的是10px

3.清除块display,这个可以解决浮动造成的块,造成块后,当DIV背景填色或填图片的时候,会出现背景断开或差一小块。这种兼容出现的不太多,我做到现在,只遇到过两次,方法是在出现兼容的DIV的CSS中写一个display:block,或其它属性,中文什么意思我不知道,我英语差,但能达到想要的效果,6 e" Z+ e% |8 G# |

4.很多朋友DIV+CSS的时候,会出现,在IE的几个浏览器下都好了,但是在FF出问题了,用!important又会把IE7做的不兼容,很头疼,在想,有没有什么方法只对FF下进行操做,我用过这个方法,感觉得是百试不爽,就是在属性前面加符号如:*、&,¥,#,@,—,+,加过符号的属性只有IE的浏览器才识别,而FF不识别,方法如下(注意有符号的属性和没符号的属性的顺序)

height:100px;/*FF下显示100的高*/

+height:120px;/*IE678下显示120高*/

5.有时候,会在布局的时候,发现,有一个DIV浮动了,接下来的一个DIV本来是要在下面显示的,结果跑上面去了,这种情况一般在FF下面会出现,解决的办法就是清除一下浮动,在设置过浮动的那个DIV下面加一个DIV,CSS面写个clear:both;如下<div style="float:left;height:100px; width:500px;">

<div style="clear:both;">

<div style="height:100px; width=300px">

6. 再就是居中问题,这个问题在新手身上很多,主要原因是对盒子模型不够理解,没熟记盒子模型,如果发现你的页面没有局中,我现在知道的,有这几个原因:1. 一个是没盒子,就是BODY后的一个大DIV把所有DIV装起来的那个,你没写。2.就是你写了,但是宽度没用绝对宽度:而是用一个相对的宽度,想局中,必须用绝对宽度。-

7.扩展:如果我想在设计的时候,实现IE6,IE7,FF下出现三种不同的效果,比如IE6下背景红色,IE7下蓝色FF下绿色,这里,我自己试过,可以,用兼容的方法(注意顺序,可以好好理解一下)。7 L& t- o7 k- a1 I

background:red;/*FF里显示的红色*/

+background:blue !important;/*IE7下面显示的蓝色*/

+background:green;/*IE6下面显示的绿色*/

在这里,我想说一下,虽然兼容给你带来很多郁闷,让人心烦,但同时,在你做多了后,你会发现,兼容有时候会满足你很多不好达到的效果,就像最后一个,要做那种效果,不用兼容的方法,那你就JS去吧,JS还得想想FF和IE下的不同,当然,JS的兼容,我也不会,我没去研究过。以后的事,先把CSS+DIV学熟再说。

多做,做练,始终把盒子模型放在心中,才会熟练,才会运用自如,才会在做的时候,自然而然就知道哪里会有兼容问题,直接在测试前就解决掉那些最常见的兼容问题。

posted @ 2010-09-08 10:27  chinaifne  阅读(181)  评论(0编辑  收藏  举报