




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、瀏覽器兼容性瀏覽器的內(nèi)核Mozilla Firefox ( Gecko )Internet Explorer ( Trident )Opera ( Presto )Safari ( WebKit )Google Chrome ( WebKit )騰訊TT、世界之窗、360瀏覽器、遨游瀏覽器都是給IE加了個(gè)外殼,不過如果電腦上裝的是ie8的話,這些瀏覽器還是調(diào)用ie7的內(nèi)核。搜狗瀏覽器比較特殊,它有兩種瀏覽模式:一是兼容模式,該模式使用IE內(nèi)核;二是高速模式,該模式使用WebKit內(nèi)核。解決ie7、ie8兼容性最好的辦法是在head標(biāo)簽中加入meta 類型<meta http-equiv=
2、"X-UA-Compatible" content="IE=EmulateIE7" />,只要IE8一讀到這個(gè)標(biāo)簽,它就會(huì)自動(dòng)啟動(dòng)IE7兼容模式CSS Hack解決瀏覽器兼容性問題的主要方法是CSS hack。由于不同的瀏覽器,比如Internet Explorer 6,Internet Explorer 7,Mozilla Firefox等,對CSS的解析認(rèn)識(shí)不一樣,因此會(huì)導(dǎo)致生成的頁面效果不一樣,得不到我們所需要的頁面效果。這個(gè)時(shí)候我們就需要針對不同的瀏覽器去寫不同的CSS,讓它能夠同時(shí)兼容不同的瀏覽器,能在不同的瀏覽器中也能得到我們想要的頁面
3、效果。這個(gè)針對不同的瀏覽器寫不同的CSS code的過程,就叫CSS hack,也叫寫CSS hack。CSS Hack的原理是什么由于不同的瀏覽器對CSS的支持及解析結(jié)果不一樣,還由于CSS中的優(yōu)先級(jí)的關(guān)系。我們就可以根據(jù)這個(gè)來針對不同的瀏覽器來寫不同的CSS。比如 IE6能識(shí)別下劃線"_"和星號(hào)" * ",IE7能識(shí)別星號(hào)" * ",但不能識(shí)別下劃線"_",而firefox兩個(gè)都不能認(rèn)識(shí)。等等各瀏覽器CSS hack兼容表: IE6IE7IE8FirefoxOperaSafari!important&
4、#160;Y YY YY _Y *YY *+ Y 9YYY 0 Y nth-of-type(1) YY如何解決瀏覽器的兼容性在head標(biāo)簽中加入meta 類型<meta http-equiv="X-UA-Compatible" content=&q
5、uot;IE=EmulateIE7" />,這樣就解決了ie7、ie8兼容問題?,F(xiàn)在剩下ie6、ie7、Firefox、Chrome(Safari與Chrome使用同一內(nèi)核)、Opera這幾種瀏覽器的兼容性問題,我們需要使用CSS Hack來解決該問題。代碼如下所示:<!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Transitional/EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><
6、;head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /><title>瀏覽器兼容性問題</title><style type="text/css">.t1
7、160; color:#000000; /* 所有瀏覽器都支持 此處填寫Firefox的css*/ *color:#0000FF; /* ie6 id7 支持 此處填寫ie7的css*/ _color:#66CCCC; /* ie6支持 此處填寫ie6的css*/media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixe
8、l-ratio:0) .t1color:#9900FF /* oprea支持 此處填寫oprea的css*/media screen and (-webkit-min-device-pixel-ratio:0).t1color:#336600/* Chrome、Safari支持 此處填寫Chrome的css*/</style></head><body><div class="t1">ff、ie8、ie7、ie6、oprea、Safari兼容性css 書寫模式<br>.t1
9、0; color:#000000; /* 所有瀏覽器都支持 此處填寫Firefox的css*/<br> *color:#0000FF; /* ie6 id7 支持 此處填寫ie7的css*/<br> _color:#66CCCC; /* ie6支持 此處填寫ie6的css*/<br><br>/* oprea支持此處填寫oprea的css*/<
10、;br>media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0)<br> .t1color:#CC66FF<br>/* Chrome、Safari支持 此處填寫Chrome的css*/<br>media screen and (-webkit-min-device-pixel-ratio:0).t1color:#336600</div></div></body></ht
11、ml>常見的瀏覽器兼容問題Css樣式是與DOCTYPE引入的W3C/DTD有關(guān)的,不同的dtd對css的解析也不同,我們現(xiàn)在統(tǒng)一使用<!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Transitional/EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd">css兼容問題: 1. 默認(rèn)的內(nèi)外邊距不同問題:各個(gè)瀏覽器默認(rèn)的內(nèi)外邊距不同解決:*margin:0;padding:0; 2. 水平居中的問題問題:設(shè)置
12、text-align: center ie6-7文本居中,嵌套的塊元素也會(huì)居中ff /opera /safari /ie8文本會(huì)居中,嵌套塊不會(huì)居中解決:塊元素設(shè)置 1、margin-left:auto;margin-right:auto2、margin:0 auto;3、<div align=”center”></div>3. 垂直居中的問題問題:在瀏覽器中 想要垂直居中,設(shè)置vertical-align:middle; 不起作用。例如:ie6下文本與文本輸入框?qū)Σ积R,需設(shè)置vertical-align:middle1,但是文本框的內(nèi)容不會(huì)垂直
13、居中解決:給容器設(shè)置一個(gè)與其高度相同的行高line-height:與容器的height一樣4. 關(guān)于高度問題問題:如果是動(dòng)態(tài)地添加內(nèi)容,高度最好不要定義。瀏覽器可以自動(dòng)伸縮,然而如果是靜態(tài)的內(nèi)容,高度最好定好。如果設(shè)定了高度,內(nèi)容過多時(shí),ie6下會(huì)自動(dòng)增加高度、其他瀏覽器會(huì)超出邊框解決:1.設(shè)置overflow:hidden;2.高度自增height:auto!important;height:100px; 5. IE6 默認(rèn)的div高度問題:ie6默認(rèn)div高度為一個(gè)字體顯示的高度,所在ie6下div的高度大于等于一個(gè)字的高度,因此在ie6下定義高度為1px的容器,顯
14、示的是一個(gè)字體的高度解決:為這個(gè)容器設(shè)置下列屬性之一1、設(shè)置overflow:hidden;2、設(shè)置line-height:1px;3、設(shè)置zoom:0.08 6. IE6 最小高度(寬度)的問題問題:ie6不支持min-height、min-width屬性,默認(rèn)height是最小高度,width是最小寬度。解決: 使用ie6不支持但其余瀏覽器支持的屬性!important。設(shè)置屬性min-height:200px; height:auto !important; height:200px; 7. td高度的問題問題:tab
15、le中td的寬度都不包含border的寬度,但是oprea和ff中td的高度包含了border的高度解決: 設(shè)置line-height和height一樣。在ie中如果td中的沒有內(nèi)容,那么border將不會(huì)顯示8. div嵌套p時(shí),出現(xiàn)空白行問題:div中顯示<p>文本</p>,ff、oprea、Chrome:top和bottom都會(huì)出現(xiàn)空白行,但是在ie下不會(huì)出現(xiàn)空白行。解決:設(shè)置p的margin:0px,再設(shè)置div的padding-top和padding-bottom9. IE6-7圖片下面有
16、空隙的問題問題:塊元素中含有圖片時(shí),ie6-7中會(huì)出現(xiàn)圖片下有空隙解決: 1、在源代碼中讓</div>和<img>在同一行2、將圖片轉(zhuǎn)換為塊級(jí)對象display:block;3、設(shè)置圖片的垂直對齊方式 vertical-align:top/middle/bottom4、改變父對象的屬性,如果父對象的寬、高固定,圖片大小隨父對象而定,那么可以對父元素設(shè)置: overflow:hidden; 5、設(shè)置圖片的浮動(dòng)屬性 float:left;10. IE6雙倍邊距的問題問題:ie6中設(shè)置浮動(dòng),同時(shí)又設(shè)置margin時(shí),會(huì)出現(xiàn)雙倍邊距的問題例f
17、loat:left;width:100px;margin:0 100px; 解決: 設(shè)置display:inline; 11. IE6 weidth為奇數(shù),右邊多出1px的問題問題:父級(jí)元素采用相對定位,且寬度設(shè)置為奇數(shù)時(shí),子元素采用絕對定位,在ie6中會(huì)出現(xiàn)右側(cè)多出1像素 解決:將寬度的奇數(shù)值改成偶數(shù) 12. IE6兩個(gè)層之間3px的問題問題: 左邊層采用浮動(dòng),右邊沒有采用浮動(dòng),這時(shí)在ie6中兩層之間就會(huì)產(chǎn)生3像素的間距解決:1、
18、右邊層也采用浮動(dòng) float2、左邊層添加屬性 margin-right:-3px; 13. IE6 子元素絕對定位的問題問題: 父級(jí)元素使用padding后,子元素使用絕對定位,不能精確定位解決: 在子元素中設(shè)置 _left:-20px; _top:-1px; 14. 顯示手型cursor:hand問題: ie6/7/8、o
19、pera 都支持 但是safari 、 ff 不支持解決:寫成 cursor:pointer; (所有瀏覽器都能識(shí)別) 15. IE6-7 line-height失效的問題問題: 在ie中img與文字放一起時(shí), line-height不起作用 解決:都設(shè)置成float16. td自動(dòng)換行的問題問題:Table寬度固定,td自動(dòng)換行解決:設(shè)置Table的table-layout:fi
20、xed,td的word-wrap:break-word17. 子容器浮動(dòng)后,父容器擴(kuò)展問題問題:子容器都float以后,父容器沒有設(shè)定高度,父容器將不會(huì)擴(kuò)展解決:只需要添加一個(gè)clear:both的div,代碼如下:<div style="border:1px solid #333;width:204px"> <div style="width:100px;border:1px solid #333; float:left; ">子容器a</div>
21、; <div style="width:100px;border:1px solid #333; float:left;">子容器b</div> <div style="clear:both"></div></div>18. 透明png圖片會(huì)帶背景色問題:在ie6下透明的png圖片會(huì)帶一個(gè)背景色解決:background-image: url(icon_home.png);/* 其他瀏覽器 */background-repeat: no-repeat;_fil
22、ter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='icon_home.png'); /* IE6 */_background-image: none; /* IE6 */19. list-style-position默認(rèn)值的問題問題:ie下list-style-position默認(rèn)為inside, firefox默認(rèn)為outside解決:css中指定為outside即可解決兼容性問題 20. list-style-image準(zhǔn)確定位的問題問題:
23、0; li前設(shè)置圖片時(shí),圖片與其后的文字對齊問題解決:1、采用背景定位 和 字符縮進(jìn)的方法background:url() no-repeat left center; text-index:16px;2、采用相對定位方法li 設(shè)置list-style:url();li的子元素position:relative;top:-5px;21. ul標(biāo)簽?zāi)J(rèn)值的問題問題: ul標(biāo)簽在ff中默認(rèn)是有padding值的,而在ie中只有margin有值解決:
24、0; 定義ulmargin:0;padding:0;就能解決大部分問題22. IE中l(wèi)i指定高度后,出現(xiàn)排版錯(cuò)誤問題:在ie下如果為li指定高度可能會(huì)出現(xiàn)排版錯(cuò)位解決: 設(shè)置line-height23. ul或li浮動(dòng)后,顯示在div外問題:div中的ul或li設(shè)置float以后,都不在div中解決:必須在ul標(biāo)簽后加<div style="clear:both"></div>來閉合外層div24. ul浮動(dòng)后,margin變大問題:ul設(shè)置 float后
25、,在ie中margin將變大解決:設(shè)置ul的display:inline,li的list-style-position:outside25. li浮動(dòng)后,margin變大問題:li設(shè)置 float后,在ie中margin將變大解決:設(shè)置li的display:inline26. 嵌套使用ul、li的問題問題: ie的bug,嵌套使用ul、li時(shí),里層的li設(shè)置float以后,外層li不設(shè)置float, 里面的ul頂部和它外面的li總是有一段間距解決:設(shè)置里面的ul的zoom:1 27. IE6-7 li底部有3px的問題問題:
26、 這個(gè)bug產(chǎn)生的充要條件是li的子元素浮動(dòng)并且li設(shè)置了以下CSS屬性之一:width、height、zoom、padding-top、padding-bottom、margin-top、margin-bottom。解決:1、div設(shè)置clear:left|both,這時(shí)li不能設(shè)置width、height、zoom。 2、li設(shè)置float:left,這時(shí)li可以設(shè)置width、height、zoom。 3、li設(shè)置clear:left|both,這時(shí)li不能設(shè)置width、height、zoom。 4、IE6/IE7的這個(gè)Bug可以通過給li中的div設(shè)置vertical-a
27、lign:top|middle|bottom解決。 28. IE6 垂直列表間隙的問題問題: li中有a且設(shè)置display:block時(shí),ie6中列表間會(huì)出現(xiàn)空隙解決:1、li中加display:inline;2、li使用float 然后 clear:both;3、給包含的文本末尾添加一個(gè)空格4、設(shè)置width 29. IE6 列表背景顏色失效的問題問題:當(dāng)父元素設(shè)置position:relative;時(shí),在ie6中第一個(gè)ul、ol、dl的背景顏色失效解決:
28、0; ul、ol、dl 都設(shè)置為position:relative; 30. IE6-7 列表背景顏色失效的問題2問題:做橫向?qū)Ш綑跁r(shí),ul設(shè)置為float且有背景色,li設(shè)置為float。ie6-7背景顏色失效解決:很多ie的bug都可以通過觸發(fā)layout來解決 ul添加屬性1、height:1%;2、float:left;3、zoom:1; 31. 列表不能換行的問題問題: li設(shè)置為浮動(dòng),后面的li緊隨其后,不能換行解決:1、為這個(gè)ul定義合適的寬高2、給包含
29、這個(gè)ul 的父div定義合適的寬高。 32. li中的內(nèi)容以省略號(hào)顯示問題:li中內(nèi)容超過長度時(shí),想以省略號(hào)顯示, 此方法適用于ie6-7-8、opera、safari瀏覽器 ff瀏覽器不支持解決:liwidth:200px; white-space:nowrap;text-overflow:ellipsis; -o-text-overflow:ellipsis; overflow: hidden; 33. 超鏈接訪問過后hover樣式不出現(xiàn)的問題問題: 點(diǎn)擊超鏈接后,hover、
30、active樣式?jīng)]有效果解決: 改變CSS屬性的排列順序: L-V-H-A 34. 禁用中文輸入法的問題問題: 不能在輸入框中輸入漢字解決:只在ie系列 和ff中有效ime-mode:disabled (但可以粘貼)禁用粘貼:onpaste="return false" 35. 除去滾動(dòng)條的問題問題:
31、160; 隱藏滾動(dòng)條解決:1、只有ie6-7支持<body scroll="no">2、除ie6-7不支持 bodyoverflow:hidden3、所有瀏覽器 htmloverflow:hidden 36. 讓層顯示在FLASH之上問題: 想讓層的內(nèi)容顯示在flash上解決:把FLASH設(shè)置透明1、<param name=" wmode " value="transparent" />2、<param name="
32、;wmode" value="opaque"/> 37. 去除鏈接虛線邊框的問題問題:當(dāng)點(diǎn)擊超鏈接后,ie6/7/8 ff會(huì)出現(xiàn)虛線邊框 ,而opera、safari沒有虛線邊框解決:ie6/7中 設(shè)置為a blr:expression(this.onFocus=this.blur() ie8 和 ff 都不支持expression 在ie8 、ff中設(shè)置為 :focus outline: none; 38. css濾鏡的問題問題: css濾鏡只在ie中有效,F(xiàn)ir
33、efox, Safari(WebKit), Opera只能夠設(shè)置透明,它們不支持濾鏡filter,無法實(shí)現(xiàn)圖片切換中間變換的效果,只能通過透明度來設(shè)置。解決: ff中設(shè)置透明度 -moz-opacity:0.10; opacity:0.6;ie中只設(shè)置filter:alpha(opacity=50); 時(shí),ie6-7失效,還要設(shè)置1、zoom:1; 2、width:100%; 39. IE6背景閃爍的問題問題:
34、0; 鏈接、按鈕用CSS sprites作為背景,在ie6下會(huì)有背景圖閃爍的現(xiàn)象。原因是:IE6沒有將背景圖緩存,每次觸發(fā)hover的時(shí)候都會(huì)重新加載解決: 可以用JavaScript設(shè)置ie6緩存這些圖片:document.execCommand("BackgroundImageCache ",false,true); 40. 出現(xiàn)重復(fù)文字的問題問題:<div style="width:400px"> <div style=&qu
35、ot;float:left"></div> <! _ > <div style="float:right;width:400px">這就是多出來的那只豬</div></div>解決:1、 改變結(jié)構(gòu),不出現(xiàn)【一個(gè)容器包含2兩個(gè)具有“float”樣式的子容器】的結(jié)構(gòu)。2、減小第二個(gè)容器的寬度,使父容器寬度減去第二個(gè)容器寬度的值大于33、去掉所有的注釋。4、修正注釋的寫法。<!-if !IE>這里是注釋內(nèi)容<!endif->5、在第二個(gè)容器后面加
36、一個(gè)或者多個(gè)<div style="clear"></div>來解決。41. ff、chrome絕對定位無效問題:在IE給td設(shè)置position:relative,然后給它包含的一個(gè)容器使用position:absolute進(jìn)行定位是有效的,但在FF和Chrome下卻不可以。解決:設(shè)置td的display:block。 42. IE6 絕對定位的問題問題:<div style="position:relative;border:1px solid orange;text-align:center;"><
37、;div style="position:absolute;top:0;left:0;background:#CCC;">dovapour</div><a href="#" title="vapour的blog">內(nèi)容</a></div>解決:left的定位錯(cuò)誤問題1、給父層設(shè)置zoom:1觸發(fā)layout。 2、給父層設(shè)置寬度width bottom的定位錯(cuò)誤問題1、給父層設(shè)置zoom:1觸發(fā)layout。 2、給父層設(shè)置高度height 43. 子容器寬度大
38、于父容器寬度時(shí),內(nèi)容超出問題:子DIV的寬度和父DIV的寬度都已經(jīng)定義,在IE6中如果其子DIV的寬度大于父DIV的寬度,父DIV的寬度將會(huì)被擴(kuò)展,在其他瀏覽器中父DIV的寬度將不會(huì)擴(kuò)展,子DIV將超出父DIV解決:設(shè)置overflow:hidden,子DIV將不會(huì)超出父DIV。44. float的div閉合的問題問題: 例如:<#div id=”floatA” ><#div id=”floatB” ><#div id=” NOTfloatC” >這里的NOTfloatC并不希望繼續(xù)平移,而是希望往下排。(其中floatA、floatB的屬性已經(jīng)設(shè)置為 fl
39、oat:left;) 這段代碼在IE中毫無問題,問題出在其他瀏覽器中。原因是NOTfloatC并非float標(biāo)簽,必須將float標(biāo)簽 閉合。解決:在 <#div class=”floatB”> <#div class=”NOTfloatC”>之間加上 < #div class=”clear”>這個(gè)div一定要注意位置,而且必須與兩個(gè)具有float屬性的div同級(jí),之間不能存在嵌套關(guān)系,否則會(huì) 產(chǎn)生異常。并且將clear這種樣式定義為為如下即可:.clear clear:both; 45. 單選框、復(fù)選框與后面的文字對不齊問
40、題: 單選框、復(fù)選框與后面的文字對不齊。解決:.alignfont-size:12px;.align input display:block; float:left;.align label display:block; float:left; padding-top:3px; *padding-top:5px;需注意的問題: 1. 設(shè)置padding后高度和寬帶都會(huì)增加說明: 除了ie5.5,其他所有瀏覽器中,設(shè)置padding以后高度和寬帶都會(huì)增加2. 使用X
41、HTML 1.0 Transitional后,div寬度說明: 在使用XHTML 1.0 Transitional以后div寬度都不包含border的寬度了,設(shè)置寬度的時(shí)候需要注意下。3. 外層相對定位,內(nèi)層絕對定位說明:ie6下,外層div的postion: relative,并設(shè)置text-align,內(nèi)層div的postion: absolute,這時(shí)內(nèi)層的位置是相對于text-align而言的例如:<div style="position:relative;border:1px solid oran
42、ge;text-align:center;zoom:1"> position:relative<div style="position:absolute;top:0;left:0;background:#CCC;">position:absolute</div> </div>4. 顯示的大小不一致說明:默認(rèn)字本顯示問題,導(dǎo)致 顯示的大小不一致,在ie下比較小一點(diǎn),其他的瀏覽器都一致,當(dāng)你使用了 造成問題時(shí)請注意。5. 邊框重疊說明說明:為 table、td 都指定了
43、邊框后,然后使用border-collapse:collapse讓邊框重疊,可以看出在發(fā)生重疊時(shí),F(xiàn)irefox 是用 td 覆蓋 table 的,而 IE 是用 table 覆蓋 td 的。使用時(shí)候需要注意。6. 設(shè)置td padding的說明說明:設(shè)置td的padding以后高度和寬帶都會(huì)增加,padding-left和padding-right的效果都一樣增加了td的寬帶,但是padding-top和padding-bottom的效果不一樣。最好不要使用td的ding-top和padding-bottom7. ul設(shè)置的說明說明:ul一般設(shè)置:list-style-type:none;m
44、argin:0px;padding:0px;li一般設(shè)置:list-style-type:none; list-style-position:outside8. 使一個(gè)層垂直居中于瀏覽器中說明:使用百分比絕對定位,與外補(bǔ)丁負(fù)值的技巧,負(fù)值的大小為其自身寬度高度除以二div position:absolute; top:50%; lef:50%; margin:-100px 0 0 -100px; width:200px; height:200px; border:1px solid red; 9. 萬能 float 閉合說明:可以用這個(gè)解決多個(gè)div對齊時(shí)的間距不對, 將以下代碼加
45、入Global CSS 中,給需要閉合的div加上 class=”clearfix” 即可<style>/* Clear Fix */.clearfix:after content:"."display:block;height:0; clear:both; visibility:hidden;.clearfix display:inline-block;/* Hide from IE Mac */.clearfix display:block;/* End hide from IE Mac */* end of clear
46、fix */</style>10. 觸發(fā)layout說明:IE6中很多Bug都可以通過觸發(fā)layout得到解決.下列的CSS屬性或取值會(huì)讓一個(gè)元素獲得layout: position:absolute 絕對定位元素的包含區(qū)塊(containing block)就會(huì)經(jīng)常在這一方面出問題float:left|right 由于layout元素的特性,浮動(dòng)模型會(huì)有很多怪異的表現(xiàn)display:inline-block 當(dāng)一個(gè)內(nèi)聯(lián)級(jí)別的元素需要layout的時(shí)候就往往符用到它,這也可能也是這個(gè)CSS
47、屬性的唯一效果-讓某個(gè)元素有l(wèi)ayoutwidth: 除auto外的任何值height: 除auto外的任何值zoom: 除auto外的任何值 11、如何使連續(xù)長字段自動(dòng)換行ff最新版本 word-wrap:break-word;就可以了ff舊版本 還要使用javascript完成文字換行<style type="text/css">div width:300px; word-wrap:break-word;
48、 border:1px solid red; </style> <script type="text/javascript">function toBreakWord(intLen)var obj=document.getElementById("ff");var strContent=obj.innerHTML; var strTemp=""wh
49、ile(strContent.length>intLen)strTemp+=strContent.substr(0,intLen)+" " strContent=strContent.substr(intLen,strContent.length); strTemp+=" "+strContent;obj.innerHTML=strTemp;if(document.getElementById && !document.all) toBrea
50、kWord(37) 12、設(shè)置滾動(dòng)條顏色 只對ie系列有效 在html中 而不是設(shè)置body<style type="text/css">html scrollbar-face-color:#f6f6f6; scrollbar-highlight-color:#fff; scrollbar-shadow-color:#eeeeee;
51、60; scrollbar-3dlight-color:#eeeeee; scrollbar-arrow-color:#000; scrollbar-track-color:#fff; scrollbar-darkshadow-color:#fff;
52、</style>IE不支持float:inherit overflow:hidden有2個(gè)用法,一個(gè)是隱藏溢出,另一個(gè)是清除浮動(dòng)。<div>, <p>, <h1>, <form>, <ul> 和 <li>是塊元素的例子<span>, <a>, <label>, <input>, <img>, <strong> 和<em>是inline元素<body oncontextmenu="return fals
53、e" ondragstart="return false" tstart="return false" scroll="auto">這行代碼放在body中,去掉了頁面鼠標(biāo)右鍵快捷菜單,達(dá)到防止圖片另存為的目的。javascript部分1. document.form.item 問題問題:代碼中存在 document.formName.item("itemName") 這樣的語句,不能在FF下運(yùn)行解決方法:改用 document.formName.elements"e
54、lementName"2. 集合類對象問題問題:代碼中許多集合類對象取用時(shí)使用(),IE能接受,F(xiàn)F不能解決方法:改用 作為下標(biāo)運(yùn)算,例:document.getElementsByName("inputName")(1) 改為 document.getElementsByName("inputName")13. window.event問題:使用 window.event 無法在FF上運(yùn)行解決方法:FF的 event 只能在事件發(fā)生的現(xiàn)場使用,此問題暫無法解決。可以把 event 傳到函數(shù)里變通解決:onMouseMove = "f
55、unctionName(event)"function functionName (e) e = e | window.event; .4. HTML對象的 id 作為對象名的問題問題:在IE中,HTML對象的 ID 可以作為 document 的下屬對象變量名直接使用,在FF中不能解決方法:使用對象變量時(shí)全部用標(biāo)準(zhǔn)的 getElementById("idName")5. 用 idName 字符串取得對象的問題問題:在IE中,利用 eval("idName") 可以取得 id 為 idNam
56、e 的HTML對象,在FF中不能解決方法:用 getElementById("idName") 代替 eval("idName")6. 變量名與某HTML對象 id 相同的問題問題:在FF中,因?yàn)閷ο?id 不作為HTML對象的名稱,所以可以使用與HTML對象 id 相同的變量名,IE中不能解決方法:在聲明變量時(shí),一律加上 var ,以避免歧義,這樣在IE中亦可正常運(yùn)行最好不要取與HTML對象 id 相同的變量名,以減少錯(cuò)誤7. event.x 與 event.y 問題問題:在IE中,event 對象有x,y屬性,F(xiàn)F中沒有解決方法:在FF中,與 eve
57、nt.x 等效的是 event.pageX ,但event.pageX IE中沒有故采用 event.clientX 代替 event.x ,在IE中也有這個(gè)變量event.clientX 與 event.pageX 有微妙的差別,就是滾動(dòng)條要完全一樣,可以這樣:mX = event.x ? event.x : event.pageX;然后用 mX 代替 event.x8. 關(guān)于frame問題:在IE中可以用 window.testFrame 取得該frame,F(xiàn)F中不行解決方法:window.top.document.getElementById("testFrame")
58、.src = 'xx.htm'window.top.frameName.location = 'xx.htm'9. 取得元素的屬性在FF中,自己定義的屬性必須 getAttribute() 取得10. 在FF中沒有 parentElement,parement.children 而用 parentNode,parentNode.childNodes問題:childNodes 的下標(biāo)的含義在IE和FF中不同,F(xiàn)F的 childNodes 中會(huì)插入空白文本節(jié)點(diǎn)解決方法:可以通過 node.getElementsByTagName() 來回避這個(gè)問題問題:當(dāng)html中節(jié)點(diǎn)缺失時(shí),IE和FF對 parentNode 的解釋不同,例如:<form><table><input/></table></form>FF中 input.parentNode 的值為form,而IE中 input.parentNode 的值為空節(jié)點(diǎn)問題:FF中節(jié)點(diǎn)自己沒有 removeNode 方法解決方法:必須使用如下方法 node
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人行道養(yǎng)護(hù)車項(xiàng)目建議書
- 中職旅游教學(xué)課件
- 全球化背景下的教育趨勢比較分析
- 學(xué)生管理中的情感智能培養(yǎng)策略
- 游戲化學(xué)習(xí)在在線教育中的應(yīng)用與挑戰(zhàn)
- 中職教育語文課件《邊城》
- 教學(xué)策略優(yōu)化與學(xué)生心理健康的關(guān)聯(lián)性研究
- 基礎(chǔ)護(hù)士腫瘤科考試題庫及答案
- 2025年銅陵市重點(diǎn)中學(xué)高二物理第二學(xué)期期末聯(lián)考模擬試題含解析
- 商業(yè)領(lǐng)域的科技資源利用策略
- GB/T 10045-2018非合金鋼及細(xì)晶粒鋼藥芯焊絲
- GB 7099-2015食品安全國家標(biāo)準(zhǔn)糕點(diǎn)、面包
- 2023年納雍縣財(cái)政局系統(tǒng)事業(yè)單位招聘筆試題庫及答案解析
- 2023年廣東省普通高中學(xué)業(yè)水平考試及參考答案
- 建筑工程模板施工工藝技術(shù)要點(diǎn)講義豐富課件
- 永能選煤廠生產(chǎn)安全事故應(yīng)急救援預(yù)案
- 浙江省建設(shè)領(lǐng)域簡易勞動(dòng)合同(A4版本)
- 位置度公差以及其計(jì)算
- 氯化銨危險(xiǎn)化學(xué)品安全周知卡
- 浙江省本級(jí)公務(wù)車輛租賃服務(wù)驗(yàn)收單(格式)
- 糖代謝紊亂的實(shí)驗(yàn)診斷
評論
0/150
提交評論