国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

網(wǎng)頁在IE6下正常在IE7下錯位的問題

2024-07-11 09:05:08
字體:
供稿:網(wǎng)友

武林網(wǎng)(www.survivalescaperooms.com)文章簡介:用CSS+DIV來寫網(wǎng)站代碼的好處顯而易見,這里不多說了,但由于不同瀏覽器對CSS的解釋不統(tǒng)一,造成不同瀏覽器下頁面錯位的現(xiàn)象十分常見.

問:

css+div做的網(wǎng)頁在ie7里錯位了,在ie6里好好的,這個在css里可以改嗎?

答:

用CSS+DIV來寫網(wǎng)站代碼的好處顯而易見,這里不多說了,但由于不同瀏覽器對CSS的解釋不統(tǒng)一,造成不同瀏覽器下頁面錯位的現(xiàn)象十分常見……
cs.Phontol.com頁面亂的原因是因?yàn)镮E6認(rèn)為一個DIV超寬了,所以把本應(yīng)float;right的DIV擠了下去。Phontol.com而如果設(shè)置為IE6下顯示正常的寬度,則在IE7和Firefox下看頁面就會少了一塊一樣,也很別扭….
cs.Phontol.com怎么辦?用CSS HACK 來改寫CSS代碼
cs.Phontol.com
cs.Phontol.com改寫前:xxx. yyy:{width:600px;} (當(dāng)設(shè)為IE7和Firefox下顯示正常的600px時,IE6下會錯位,改為590px,則IE6下正常,IE7和Firefox下顯示不完美)
cs.Phontol.com改寫后: xxx. yyy{width:600px;* width:600px;_ width:590px;}
cs.Phontol.com(Firefox不認(rèn)識*和_,而IE都認(rèn)識*,IE7不支持_,IE6支持_)
cs.Phontol.com順序千萬不要亂,因?yàn)楫?dāng)出現(xiàn)重復(fù)定義時,瀏覽器默認(rèn)按最后一下渲染,所以一定要先正常,再*,最后_。Phontol.com
cs.Phontol.com這樣Firefox讀取時只看到了正常的定義,而IE都能看到第二個*的定義,于是忽略第一個正常的定義,而IE中因?yàn)镮E7不再支持_,所以按照第一個帶*號的執(zhí)行,IE6支持_,所以認(rèn)為帶*后的也是重復(fù)定義,予以忽略,執(zhí)行最后一個定義。Phontol.com
cs.Phontol.com
cs.Phontol.com有人喜歡用!important來進(jìn)行CSS HACK,但我覺得!important寫起來太長了,不如*和_簡單直觀。Phontol.com
cs.Phontol.com
cs.Phontol.com只要記住IE7=*,IE6=_,然后按照先Firefox后IE7,最后IE6的順序進(jìn)行編寫,一般就可以保證大部分用戶瀏覽正常了。Phontol.com 來源:收集整理于互聯(lián)網(wǎng)

IE下很多地方可以省略一些層定義的浮動屬性,但是FF不行,必須每個個層都寫清楚,幾個DIV層水平排列的時候,IE6中必須要加display:inline;,不然前端會出現(xiàn)雙倍間距,而FF中則加不加display都顯示正常.這些都是由瀏覽器默認(rèn)值的不同而引起的,你看到那些大站的布局在各瀏覽器中都顯示正常,是因?yàn)樗麄儼堰@些默認(rèn)有區(qū)別的地方都定義清楚了.

下面的兼容要點(diǎn)引自互聯(lián)網(wǎng)

CSS對瀏覽器的兼容性具有很高的要求,通常情況下IE和Firefox(簡稱FF)存在很大的解析差異,這里介紹一下兼容要點(diǎn)。

常見的兼容問題:

1.DOCTYPE影響CSS處理

2.FireFox火狐:div設(shè)置margin-left,margin-right為auto時已經(jīng)居中,IE不行

3.FireFox火狐:body設(shè)置text-align時,div需要設(shè)置margin:auto(主要是margin-left,margin-right)方可居中

4.FireFox火狐:設(shè)置padding后,div會增加height和width,但I(xiàn)E不會,故需要用!important多設(shè)一個height和width

5.FireFox火狐:支持!important,IE則忽略,可用!important為FireFox火狐特別設(shè)置樣式

6.div的垂直居中問題:vertical-align:middle;將行距增加到和整個DIV一樣高line-height:200px;然后插入文字,就垂直居中了。缺點(diǎn)是要控制內(nèi)容不要換行

7.cursor:pointer可以同時在IEFireFox火狐中顯示游標(biāo)手指狀,hand僅IE可以

8.FireFox火狐:鏈接加邊框和背景色,需設(shè)置display:block,同時設(shè)置float:left保證不換行。參照menubar,給a和menubar設(shè)置高度是為了避免底邊顯示錯位,若不設(shè)height,可以在menubar中插入一個空格。

9.在mozillafirefox和IE中的BOX模型解釋不一致導(dǎo)致相差2px解決方法:
div{margin:30px!important;margin:28px;}
注意這兩個margin的順序一定不能寫反,據(jù)阿捷的說法!important這個屬性IE不能識別,但別的瀏覽器可以識別。所以在IE下其實(shí)解釋成這樣:
div{maring:30px;margin:28px}
重復(fù)定義的話按照最后一個來執(zhí)行,所以不可以只寫margin:XXpx!important;

10.IE5和IE6的BOX解釋不一致
IE5下
div{width:300px;margin:0 10px 0 10px;}
div的寬度會被解釋為300px-10px(右填充)-10px(左填充)最終div的寬度為280px,而在IE6和其他瀏覽器上寬度則是以300px+10px(右填充)+10px(左填充)=320px來計(jì)算的。這時我們可以做如下修改
div{width:300px !important;width/**/:340px;margin:0 10px 0 10px}
關(guān)于這個/**/是什么我也不太明白,只知道IE5和firefox都支持但I(xiàn)E6不支持

11.ul標(biāo)簽在Mozilla中默認(rèn)是有padding值的,而在IE中只有margin有值所以先定義
ul{margin:0;padding:0;}就能解決大部分問題

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 怀柔区| 如皋市| 钟山县| 米脂县| 土默特右旗| 贡山| 阿城市| 阿拉善右旗| 德阳市| 夹江县| 邳州市| 张家口市| 刚察县| 延津县| 偏关县| 应城市| 新疆| 余庆县| 蒙城县| 云安县| 甘孜| 深州市| 济南市| 衡东县| 桐城市| 偃师市| 西华县| 商丘市| 大余县| 汪清县| 关岭| 樟树市| 普兰县| 黄浦区| 永仁县| 龙井市| 聂拉木县| 荃湾区| 沧州市| 盘锦市| 延长县|