成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

IE7和IE8的CSS樣式八大差異

開發(fā) 前端
本文向大家描述一下IE7和IE8的CSS樣式八大差異,Microsoft官方并未提供關(guān)于IE7及IE8的CSS差異說明文件,只是說IE8目前更趨近于CSS2.1而非CSS2.0,這里規(guī)類出8個(gè)最常見的差異供讀者們參考。

你對(duì)IE7和IE8的CSS樣式八大差異是否了解,這里和大家分享一下,IE7所設(shè)計(jì)的網(wǎng)頁,在IE8上的呈現(xiàn)會(huì)有所出入,所幸拜IE7相容檢視功能所賜,目前因使用IE8而導(dǎo)致版面錯(cuò)誤的網(wǎng)站并不多。

IE7和IE8的CSS樣式八大差異

InternetExplorer8預(yù)設(shè)是以CSS2.1為標(biāo)準(zhǔn),并修正了許多InternetExplorer7的CSSBug,這意味著有一部份以往依據(jù)IE7所設(shè)計(jì)的網(wǎng)頁,在IE8上的呈現(xiàn)會(huì)有所出入,所幸拜IE7相容檢視功能所賜,目前因使用IE8而導(dǎo)致版面錯(cuò)誤的網(wǎng)站并不多。但一值依賴IE7相容檢視功能并非長久之計(jì),盡早將網(wǎng)站修改為IE8相容才是長久之計(jì),因?yàn)楫吘笴SS是持續(xù)更新的,現(xiàn)在不改,日后大修的機(jī)會(huì)就更大。不幸的是,Microsoft官方并未提供關(guān)于IE7及IE8的CSS差異說明文件,頂多只是告訴我們IE8目前更趨近于CSS2.1而非CSS2.0,因此筆者在造訪許多網(wǎng)站后,規(guī)類出8個(gè)最常見的差異供讀者們參考。

1、起始座標(biāo)位置

先天上,IE7與IE8在預(yù)設(shè)網(wǎng)頁版面的起始位置就不同,以下面的代碼來說,在IE7及IE8上啟始的位置就有差異。
 

  1.  
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  4. <head> 
  5. <title>title> 
  6. head> 
  7. <body> 
  8. <divstyledivstyle="height:100px;width:200px;border:solid1pxblack"> 
  9. <div> 
  10. <ahrefahref="http://www.hinet.net">Hineta> 
  11. div> 
  12. div> 
  13. body> 
  14. html> 
  15.  

不過由于是整個(gè)偏移,對(duì)網(wǎng)頁的影響相當(dāng)小。

2、DIV中的P

下面的執(zhí)行結(jié)果呈現(xiàn)了IE7及IE8在處理DIV中的P之差異性。
 

  1.  
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  4. <head> 
  5. <title>title> 
  6. head> 
  7. <body> 
  8. <divstyledivstyle="height:100px;width:200px;border:solid1pxblack"> 
  9. <div> 
  10. <p>TESTFontp> 
  11. div> 
  12. div> 
  13. body> 
  14. html> 
  15.  

很明顯的,IE8中對(duì)于DIV中的P預(yù)設(shè)位置與IE7不同,IE7是將margin-top預(yù)設(shè)為0px,排在最上方,,IE8卻未預(yù)設(shè)margin-top,
解決方法是將margin-top加上。
 

  1.  
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  4. <head> 
  5. <title>title> 
  6. head> 
  7. <body> 
  8. <divstyledivstyle="height:100px;width:200px;border:solid1pxblack"> 
  9. <div> 
  10. <pstylepstyle="margin-top:0px">TESTFontp> 
  11. div> 
  12. div> 
  13. body> 
  14. html> 
  15. (IE8Withmargin-top)  
  16.  

 #p#3、負(fù)數(shù)margin

許多網(wǎng)頁設(shè)計(jì)師常常以負(fù)數(shù)的margin來定位HTML元素的位置,目的是讓該元素與圖形對(duì)齊,IE7及IE8對(duì)于負(fù)數(shù)的解釋有蠻大的差異性。
程式4
 

  1.  
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  4. <head> 
  5. <title>title> 
  6. head> 
  7. <body> 
  8. <divstyledivstyle="height:100px;width:200px;border:solid1pxblack"> 
  9. <divstyledivstyle="background-color:Red;margin:-5px6px7px8px"> 
  10. <ahrefahref="http://www.hinet.net">Hineta> 
  11. div> 
  12. div> 
  13. body> 
  14. html> 
  15.  

由比較圖可看出,IE7遭遇負(fù)數(shù)時(shí),并不會(huì)移出DIV的范圍,而IE8會(huì),在筆者撰寫本文之時(shí),大多數(shù)的不相容IE8網(wǎng)頁錯(cuò)誤都源自于此。

4、TableWithBorderStyle

元素的Layout在每個(gè)瀏覽器上都會(huì)有些許差異的表現(xiàn),下面的代碼是一個(gè)在IE7及IE8上呈現(xiàn)相異的范例。Table
 

  1.  
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  4. <head> 
  5. <title>title> 
  6. head> 
  7. <body> 
  8. <tablestyletablestyle="border:double7pxgreen"> 
  9. <tr> 
  10. <tdstyletdstyle="border:double1pxgreen">atd> 
  11. <tdstyletdstyle="border:double1pxgreen">atd> 
  12. <tdstyletdstyle="border:double1pxgreen">atd> 
  13. tr> 
  14. <tr> 
  15. <tdstyletdstyle="border:double1pxgreen">atd> 
  16. <tdstyletdstyle="border:double1pxgreen">atd> 
  17. <tdstyletdstyle="border:double1pxgreen">atd> 
  18. tr> 
  19. <tr> 
  20. <tdstyletdstyle="border:double1pxgreen">atd> 
  21. <tdstyletdstyle="border:double1pxgreen">atd> 
  22. <tdstyletdstyle="border:double1pxgreen">atd> 
  23. tr> 
  24. table> 
  25. body> 
  26. html> 
  27.  

很明顯的,IE7的border寬度計(jì)算比IE8高,不過由于這是整體偏移,加上我們很少會(huì)設(shè)定太大的border寬度,影響程度幾乎等于0。#p#

5、bottom、top

當(dāng)使用絕對(duì)位置時(shí),IE7與IE8會(huì)產(chǎn)生些許的偏移,這些偏移是整體性的,所以影響很小
例子:
 

  1.  
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  4. <head> 
  5. <title>title> 
  6. head> 
  7. <body> 
  8. <divstyledivstyle="height:100px;width:200px;border:solid1pxblack"> 
  9. <divstyledivstyle="background-color:Red;bottom:5px;top:5px;position:absolute;height:40px"> 
  10. TEST  
  11. div> 
  12. div> 
  13. body> 
  14. html> 
  15.  

很難看出來吧,因?yàn)槠坪苄。贿^確實(shí)是偏移了。

6、li+float

UL、LI加上float,在IE7于IE8有相當(dāng)大的差異,見:
 

  1.  
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  4. <head> 
  5. <title>title> 
  6. head> 
  7. <body> 
  8. <div> 
  9. <div> 
  10. <ul> 
  11. <listylelistyle="cursor:hand;float:left;"> 
  12. TEST1li> 
  13. <listylelistyle="cursor:hand;float:left;"> 
  14. TEST2li> 
  15. <listylelistyle="cursor:hand;float:left;"> 
  16. TEST3li> 
  17. <listylelistyle="cursor:hand;float:left;"> 
  18. TEST4li> 
  19. <listylelistyle="cursor:hand;float:left;"> 
  20. TEST5li> 
  21. ul> 
  22. div> 
  23. div> 
  24. body> 
  25. html> 
  26.  

在IE7上,LI的項(xiàng)目符號(hào)被取消了,而在IE8上則正常顯示,但卻因?yàn)槭莊loat,所以后面的項(xiàng)目符號(hào)蓋到前一項(xiàng)目了。修改為程式8的模樣后
,兩者就趨近相同了。

  1.  
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  4. <head> 
  5. <title>title> 
  6. head> 
  7. <body> 
  8. <div> 
  9. <div> 
  10. <ulstyleulstyle="list-style-type:none"> 
  11. <listylelistyle="cursor:hand;float:left;"> 
  12. TEST1li> 
  13. <listylelistyle="cursor:hand;float:left;"> 
  14. TEST2li> 
  15. <listylelistyle="cursor:hand;float:left;"> 
  16. TEST3li> 
  17. <listylelistyle="cursor:hand;float:left;"> 
  18. TEST4li> 
  19. <listylelistyle="cursor:hand;float:left;"> 
  20. TEST5li> 
  21. ul> 
  22. div> 
  23. div> 
  24. body> 
  25. html> 
  26.  

在嘗試尋找CSS相異點(diǎn)時(shí),許多網(wǎng)站都有這類問題,因?yàn)槲覀兂S眠@種手法來處理頁簽類的顯示。
PS:list-style-type在IE7時(shí),只要li是float,就會(huì)被完全忽略。#p#

7、div+heightwithulandimage

當(dāng)DIV設(shè)定了固定大小,而內(nèi)容超出所定大小,然后后方跟著IMG時(shí),在IE7及IE8會(huì)有相當(dāng)大的差異。
 

  1.  
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  4. <head> 
  5. <title>title> 
  6. head> 
  7. <body> 
  8. <div> 
  9. <divstyledivstyle="width:300px;height:22px;margin-top:5px"> 
  10. <ulstyleulstyle="list-style-type:none"> 
  11. <listylelistyle="cursor:hand;float:left;"> 
  12. TEST1li> 
  13. <listylelistyle="cursor:hand;float:left;"> 
  14. TEST2li> 
  15. <listylelistyle="cursor:hand;float:left;"> 
  16. TEST3li> 
  17. <listylelistyle="cursor:hand;float:left;"> 
  18. TEST4li> 
  19. <listylelistyle="cursor:hand;float:left;"> 
  20. TEST5li> 
  21. <listylelistyle="cursor:hand;float:left;"> 
  22. TEST6li> 
  23. ul> 
  24. div> 
  25. <ahrefahref="http://www.hinet.net>"> 
  26. <imgsrcimgsrc="21565.jpg"width="300px"height="200px"/> 
  27. a> 
  28. div> 
  29. body> 
  30. html> 
  31.  

很明顯的,IE7會(huì)尊重DIV所制定的大小來安排后面的IMG位置,所以在圖14上看不出有何問題,但是在IE8里,當(dāng)內(nèi)容超出制定大小時(shí),
IMG位置會(huì)順移開,所以就造成了此問題。在實(shí)務(wù)上,這算是相當(dāng)常見的相容性錯(cuò)誤。
解決方法很簡單,將要被蓋住的那個(gè)LI移掉就好了,這本來就是錯(cuò)誤的設(shè)計(jì)。

8、p的子控件對(duì)齊

有些網(wǎng)頁設(shè)計(jì)師習(xí)慣使用P加上子控件來描繪單行輸入+按紐的樣式,這些網(wǎng)頁在IE8上會(huì)有或許的差異,如果里面使用的IMG太多,
差異就會(huì)大到很難忽視。
 

  1.  
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  4. <head> 
  5. <title>title> 
  6. head> 
  7. <body> 
  8. <p> 
  9. <inputtypeinputtype="text"/> 
  10. <imgsrcimgsrc="add2.png"height="16px"width="16px"/> 
  11. p> 
  12. body> 
  13. html> 
  14.  

很明顯,IE7會(huì)對(duì)IMG置中于P,但I(xiàn)E8不會(huì)。這類問題很難解決,需要透過CSS判斷IE版本來提供不同的CSS,讓兩者趨近相同。
 

  1.  
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  4. <head> 
  5. <title>title> 
  6. 2009-08-13 10:12:07

    IE的CSS Bug

2010-09-08 16:59:48

CSS兼容IE7IE8

2010-08-18 10:37:16

IE6IE7IE8

2010-09-15 11:08:48

CSSIE6IE7

2010-08-19 09:24:20

CSS兼容IE7IE8

2010-08-18 10:24:51

IE6IE7IE8

2010-09-16 13:17:31

IE6IE7IE8

2010-08-17 15:38:49

CSS兼容IE7IE8

2011-03-08 11:14:35

IE7、IE8、IE

2011-06-03 15:41:27

CSS HACK

2010-08-18 15:57:14

IE6IE7IE8

2010-08-20 13:15:54

IE6IE7IE8

2010-08-19 14:33:18

2010-09-15 10:14:19

IE7IE8兼容CSS

2010-09-15 10:25:18

IE7IE8CSS兼容性

2010-09-16 13:33:47

IE6IE7IE8

2010-08-19 10:56:55

JSIE6IE7

2010-08-20 13:08:41

IE6IE7IE8

2010-08-17 15:33:28

CSS兼容IE7IE8

2010-08-19 14:19:12

IE6IE7IE8
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

業(yè)務(wù)
速覽
在線客服
主站蜘蛛池模板: 亚洲国产精品99久久久久久久久 | 综合在线视频 | 亚洲精品一区二区三区中文字幕 | 亚洲人人舔人人 | 成年人精品视频 | 久www | 国产一极毛片 | 日韩久久久一区二区 | 九九久久精品 | 91亚洲精品国偷拍自产在线观看 | 91精品国产一区二区三区蜜臀 | 日韩一区中文字幕 | 日韩中文字幕 | 在线看一区二区 | 久久精品小视频 | 人妖av| 国产高清在线视频 | 一区二区三区四区不卡 | 精品日韩一区二区 | 国产一区不卡 | 97伦理| 天堂精品| 日韩欧美三区 | 国产一区二区在线视频 | 国产精品成av人在线视午夜片 | 欧美精品一区二区三区四区 在线 | 免费看黄视频网站 | 黄色a级一级片 | 成人毛片网 | 国产欧美在线一区二区 | 中文字幕成人av | 国产精品久久久久久中文字 | 九九久久在线看 | 亚洲欧美日韩高清 | 伊人在线 | 亚洲精品一区二区三区在线 | 日韩中文字幕一区二区 | 亚洲成人免费在线 | 中文字幕亚洲精品 | 龙珠z在线观看 | 综合天天久久 |