超碰人人人人人,亚洲AV午夜福利精品一区二区,亚洲欧美综合区丁香五月1区,日韩欧美亚洲系列

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

如何解決瀏覽器的兼容性

admin
2010年4月24日 9:17 本文熱度 8657
[p]div+css開(kāi)發(fā)[b]瀏覽器的兼容性[/b][br][br][br]1. 文字本身的大小不[b]兼容[/b]。同樣是font-size:14px的宋體文字,在不同瀏覽器下占的空間是不一樣的,ie下實(shí)際占高16px,下留白3px,ff 下實(shí)際占高17px,上留白1px,下留白3px,opera下就更不一樣了。解決方案:給文字設(shè)定 line-height 。確保所有文字都有默認(rèn)的 line-height 值。這點(diǎn)很重要,在高度上我們不能容忍1px 的差異。[/p] [p]2.ff下容器高度限定,即容器定義了height之后,容器邊框的外形就確定了,不會(huì)被[b]內(nèi)容撐大[/b],而ie下是會(huì)被內(nèi)容撐大,高度限定失效。所以不要輕易給容器定義height。[/p] [p]3.橫向上的撐破容器問(wèn)題,。如果float 容器未定義寬度,ff下內(nèi)容會(huì)盡可能撐開(kāi)容器寬度,ie下則會(huì)優(yōu)先考慮內(nèi)容折行。故,內(nèi)容可能撐破的浮動(dòng)容器需要定義width。[/p] [p]小實(shí)驗(yàn):有興趣大家可以看看這段實(shí)驗(yàn)。在不同瀏覽器下分別測(cè)試以下各項(xiàng)代碼。[/p] [p]a.
b.
[/p] [p]c.
d.
[/p] [p]上面的代碼在不同瀏覽器中是不一樣的,實(shí)驗(yàn)起源于對(duì)小height 值div 的運(yùn)用,
,小height 值要配合overflow:hidden一起使用。實(shí)驗(yàn)好玩而已,想說(shuō)明的是,瀏覽器對(duì)容器的邊界解釋是大不相同的,容器內(nèi)容的影響結(jié)果各不相同。[/p] [p][br]4.最被痛恨的,double-margin bug。ie6下給浮動(dòng)容器定義margin-left 或者margin-right 實(shí)際效果是數(shù)值的2倍。解決方案,給浮動(dòng)容器定義display:inline。[/p] [p]5.mirror margin bug,當(dāng)外層元素內(nèi)有float元素時(shí),外層元素如定義margin-top:14px,將自動(dòng)生成margin-bottom:14px。 padding也會(huì)出現(xiàn)類(lèi)似問(wèn)題,都是ie6下的特產(chǎn),該類(lèi)bug 出現(xiàn)的情況較為復(fù)雜,遠(yuǎn)不只這一種出現(xiàn)條件,還沒(méi)系統(tǒng)整理。解決方案:外層元素設(shè)定border 或 設(shè)定float。[/p] [p]引申:ff 和ie 下對(duì)容器的margin-bottom,padding-bottom的解釋有時(shí)不一致,似乎與之相關(guān)。[/p] [p]6. 吞吃現(xiàn)象。還是ie6,上下兩個(gè)div,上面的div設(shè)置背景,卻發(fā)現(xiàn)下面沒(méi)有設(shè)置背景的div 也有了背景,這就是吞吃現(xiàn)象。對(duì)應(yīng)上面的背景吞吃現(xiàn)象,還有滾動(dòng)下邊框缺失的現(xiàn)象。解決方案:使用zoom:1。這個(gè)zoom好象是專(zhuān)門(mén)為解決ie6 bug而生的。[/p] [p]7.注釋也能產(chǎn)生bug~~~“多出來(lái)的一只豬。”這是前人總結(jié)這個(gè)bug使用的文案,ie6的這個(gè)bug 下,大家會(huì)在頁(yè)面看到豬字出現(xiàn)兩遍,重復(fù)的內(nèi)容量因注釋的多少而變。解決方案:用“ picrotate start ”方法寫(xiě)注釋。[/p] [p][br]8.img 下的留白,大家看這段代碼有啥問(wèn)題:[/p] [p]
[br][br]
[/p] [p]把div的border打開(kāi),你發(fā)現(xiàn)[b]圖片底部不是緊貼著容器[/b]底部的,是img后面的空白字符造成,要消除必須這樣寫(xiě)[/p] [p]
[br]
[/p] [p]后面兩個(gè)標(biāo)簽要緊挨著。ie7下這個(gè)bug 依然存在。解決方案:給img設(shè)定 display:block。[/p] [p]9. 失去line-height。
文字
,很遺憾,在ie6下單行文字 line-height 效果消失了。。。,原因是這個(gè)inline-block元素和inline元素寫(xiě)在一起了。解決方案:讓img 和文字都 float起來(lái)。[/p] [p]引申:大家知道img 的align 有 text-top,middle,absmiddle啊什么的,你可以嘗試去調(diào)整img 和文字讓他們?cè)趇e和ff下能一致,你會(huì)發(fā)現(xiàn)怎么調(diào)都不會(huì)讓你滿意。索性讓img 和文字都 float起來(lái),用margin 調(diào)整。[/p] [p][br]10.clear層應(yīng)該單獨(dú)使用。也許你為了節(jié)省代碼把clear屬性直接放到下面的一個(gè)內(nèi)容層,這樣有問(wèn)題,不僅僅是ff和op下失去margin效果,ie下某些margin值也會(huì)失效[br]
dd
[br]
ff
[/p] [p]11.ie 下overflow:hidden對(duì)其下的絕對(duì)層position:absolute或者相對(duì)層 position:relative無(wú)效。解決方案:給overflow:hidden加position:relative或者position: absolute。另,ie6支持overflow-x或者overflow-y的特性,ie7、ff不支持。[/p] [p]12.ie6下嚴(yán)重的bug,float元素如沒(méi)定義寬度,內(nèi)部如有div定義了height或zoom:1,這個(gè)div就會(huì)占滿一整行,即使你給了寬度。float元素如果作為布局用或復(fù)雜的容器,都要給個(gè)寬度的。[/p] [p]13.ie6下的bug,絕對(duì)定位的div下包含相對(duì)定位的div,如果給內(nèi)層相對(duì)定位的div高度height具體值,內(nèi)層相對(duì)層將具有100%的width值,外層絕對(duì)層將被撐大。解決方案給內(nèi)層相對(duì)層float屬性。[/p] [p]14.width:100%這個(gè)東西在ie里用很方便,會(huì)向上逐層搜索width值,忽視浮動(dòng)層的影響,ff下搜索至浮動(dòng)層結(jié)束,如此,只能給中間的所有浮動(dòng)層加width:100%才行,累啊。opera這點(diǎn)倒學(xué)乖了跟了ie。 [br]15,有時(shí)候加上div{overflow:hidden}這個(gè)樣式那三個(gè)瀏覽器就會(huì)相同了[br] [/p] [p]在火狐中最混亂的頁(yè)面:有一部分功能被覆蓋,左右兩個(gè)div一上一下,隨著頁(yè)面內(nèi)容展開(kāi)footer[b]不自動(dòng)往下延伸[/b]...經(jīng)過(guò)兩天的奮戰(zhàn)頁(yè)面正常了,回頭看看我們到底做了什么呢?我們實(shí)質(zhì)上是在無(wú)限的靠近w3c標(biāo)準(zhǔn)。[/p] [p] 于是,一個(gè)個(gè)問(wèn)題迎刃而解:對(duì)于現(xiàn)存的頁(yè)面,用[b]w3c[/b]驗(yàn)證工具,從fatal級(jí)別的錯(cuò)誤開(kāi)始解決;以后的開(kāi)發(fā)中頁(yè)面的瀏覽器兼容怎么保證----只要遵循[b]w3c標(biāo)準(zhǔn)[/b]做就可以了。這里有一個(gè)技巧,不是所有瀏覽器都完美的支持w3c的所有標(biāo)準(zhǔn),同時(shí)w3c標(biāo)準(zhǔn)在有些地方的確吹毛求疵,所以我們大體上遵循[b]w3c的標(biāo)準(zhǔn)[/b],但是頁(yè)面上并不添加[b]w3c[/b]的聲明。[br]下面再說(shuō)一下[b]瀏覽器兼容[/b]時(shí)遇到的一些[b]腳步兼容[/b]問(wèn)題[br] [/p] [p]做[b]瀏覽器兼容[/b]時(shí)遇到的一些[b]腳本兼容[/b]問(wèn)題:[/p] [p]1.firefox里面不能操作剪貼板(有曲線救國(guó)之策么?)[/p] [p]2.ie里面的event.srcelement在firefox里面是event.target注意兼顧[/p] [p]3.ie里面的 div.innertext;在firefox里面是div.textcontent;[/p] [p]4.文本超長(zhǎng)自動(dòng)省略: style="overflow: hidden; text-overflow: ellipsis; width: 260px; white-space: nowrap; cursor: pointer; "注意要?jiǎng)h掉頁(yè)面上的w3c標(biāo)準(zhǔn)![/p] [p]5.如果真的需要為不同的瀏覽器做區(qū)分那么可以[/p] [p]if (window.navigator.useragent.indexof("msie")>=1) //ie6 7[/p] [p]if (window.navigator.useragent.indexof("firefox")>=1) //ff[/p] [p]6.css方面也有一些做[b]瀏覽器兼容[/b]的策略 就不越俎代庖了 可以搜索一下[/p] [p] [/p] [p]總結(jié)一下:[/p] [p]1. 遵循標(biāo)準(zhǔn)但是不把w3c標(biāo)準(zhǔn)聲明添加到頁(yè)面上,這種做法在時(shí)間和頁(yè)面質(zhì)量之間做了一個(gè)折衷[/p] [p]2.對(duì)現(xiàn)存的頁(yè)面做美化 可以從驗(yàn)證[b]w3c[/b]開(kāi)始 這是一個(gè)好的切入點(diǎn)[/p] [p]3.[b]瀏覽器兼容[/b]在新頁(yè)面的開(kāi)發(fā)時(shí)就要考慮,完成之后再做成本是完全不一樣的 類(lèi)似于代碼重構(gòu)[/p] [p]4.有些javascript編寫(xiě)也要關(guān)注一些敏感的瀏[b]覽器兼容[/b]問(wèn)題[/p] [p]5.多說(shuō)一句:頁(yè)面開(kāi)發(fā)人員學(xué)一點(diǎn)css的知識(shí)對(duì)于解決[b]瀏覽器兼容[/b]的問(wèn)題是很有幫助的[br][br]解決ie7、ie8樣式不[b]兼容[/b]問(wèn)題[br]如果你的頁(yè)面對(duì)ie7兼容沒(méi)有問(wèn)題,又不想大量修改現(xiàn)有代碼,同時(shí)又能在ie8中正常使用,微軟聲稱(chēng),開(kāi)發(fā)商僅需要在目前兼容ie7的網(wǎng)站上添加一行代碼即可解決問(wèn)題,也就說(shuō)將[b]ie7轉(zhuǎn)變成ie8[/b] 此代碼如下:[br]code:[br][/p]

該文章在 2010/4/24 9:17:51 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved