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

十個修復IE6下bug技巧

開發 前端
本文向大家介紹一下十個修復IE6下bug的技巧,IE6的末日即將來臨,對我們前端開發人員來說,無疑是一個慰藉人心的喜訊。

IE6的末日即將來臨,但這個末日也并非朝日可至,所以我們還是爭取***的勝利,用各種hack和方法來規避IE6下雙邊距,背景透明,重復文字等等一堆bug。

10個修復IE6下bug技巧

IE6的末日即將來臨,對我們前端開發人員來說,無疑是一個慰藉人心的喜訊。但這個末日也并非朝日可至,所以我們還是爭取***的勝利,用各種hack和方法來規避IE6下雙邊距,背景透明,重復文字等等一堆bug.下面是轉載自前端觀察中的10個修復IE6下bug技巧:

1.使用DOCTYPE

你應該在一直每個HTML文件的頭部都使用DOCTYPE,并且我們推薦使用strict版本,比如:

  1. <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01//EN""http://www.w3.org/TR/html4/strict.dtd"> 

或者,對于XHTML使用:

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

你需要處理的最棘手的事情就是IE6進入quirks模式——它已經夠詭異了。

2.設置position:relative

將一個元素設置為”position:relative”可以解決很多問題,特別是你曾經遇到隱藏的或對齊詭異的盒子。顯然,你需要非常小心點兒,因為絕對定位的子節點可能會因此重新定位。

3.將浮動元素設置為display:inline

具有margin屬性的浮動元素可能引起著名的IE6雙倍margin問題,比如,你為一個元素指定margin-left為5px,但是IE6中實際上卻表現為10px。”display:inline”將解決這個問題,盡管這不是必須的,你的CSS仍然是有效的。

4.將一個元素設置為hasLayout

很多IE6(和IE7)的渲染問題可以通過設置元素的hasLayout來解決。這是一個IE內部屬性(IE隱藏的,更多關于haslayout的資料,可以參閱這里),用來確定相對于其他元素,內容是如何布局和定位的。如果你需要設置一個inline元素(比如一個鏈接)為block元素,或者是應用透明效果,設置hasLayout也可能是必須的。
最簡單的設置hasLayout的方法是為CSS設置一個高度或寬度(zoom也可以用,但是zoom并不是CSS標準的一部分)。我們推薦設置實際尺寸,但是問題是這是不現實的,你可能需要使用”height:1%”。如果父元素并沒有設置高度,該元素的實際高度并不受影響,而且這個時候hasLayout已經被啟用。

5.修正重復文字bug

復雜的布局可以觸發在浮動元素的***一些字符可能出現在出現在清除元素下面的bug。這里有幾個解決方法,有些是***的,但是做一些反復試驗也是必須的:
.確保所有的元素使用”display:inline;”
.在***一個元素上使用一個”margin-right:-3px;”
.為浮動元素的***一個條目使用一個條件注釋,比如:

  1. <!--[if!IE]>Putyourcommentaryinhere...<![endif]--> 

.在容器的***元素使用一個空的div(它也有必要設置寬度為90%或類似寬度。
>>>>>>你還可以訪問positioniseverything.net查看該問題的完整介紹。

6.在可點擊和懸停的元素上只使用<a>標簽

IE6只認識對a標簽的CSShover效果。
你也可以在基于JavaScript的組件內使用他們來控制,以使他們保持鍵盤的可操作性。是有一些可替代的選擇,但是<a>標簽比其它方案更可靠。

7.使用!important或高級選擇器來區分IE6

不使用傳統Hack或在額外文件中的條件CSS的方法,寫出特別針對IE6的可行的代碼也還是有可能的。比如最小高度可以通過這段代碼來定義:

  1. #element{  
  2. min-height:20em;  
  3. height:auto!important;/*所有瀏覽器都理解這段代碼*/  
  4. height:20em;/*IE6錯誤的使用這個值/*  

IE6不理解min-height并錯誤的用20em覆蓋”auto”高度,但是,如果內容需要更多的空間的話,它會自動增加高度。
另外一個可選的方法是使用高級選擇器,比如e.g.

  1. #element{  
  2. min-height:20em;  
  3. height:20em;  
  4. }  
  5. /*IE6無視下面的代碼*/  
  6. #element[id]{  
  7. height:auto;  

8.避免百分比單位

百分比會把IE搞糊涂的。除非你可以確切的控制每一個父元素的大小,才可能做到***預防。你可以通過!important在其他瀏覽器中繼續使用百分比,比如:

  1. body{  
  2. margin:2%0!important;  
  3. margin:20px0;/*IE6only*/  

9.盡早測試并不斷測試

不要等到你的網站或應用完成了才測試IE6;這樣的話問題可能更糟糕,而且會花更多時間來修正。如果你的網站能夠在Firefox和IE6中正常運行,那么一般在其它瀏覽器就不會有問題。

10.重構你的代碼

經常發生的事情是,修正bug要比重新考慮一個布局問題要花更長的時間。對HTML做些小改動和一些簡單的CSS常常更有效。這可能意味著你要放棄***的代碼,但是會出現較少的長期問題而且將來你會很清楚如果處理這些可能出現的問題。
 

【編輯推薦】

  1. IE6 IE7 IE8瀏覽器的兼容性PK
  2. 單獨對IE6兼容進行處理的方法揭秘
  3. IE6 IE7 IE8 FF瀏覽器的CSS兼容問題探究
  4. 微軟發布升級版IE8Beta2瀏覽器 新特性敬請關注
  5. 技術前沿 DIV+CSS布局網頁對網站SEO的影響

 

 

責任編輯:佚名 來源: cnblogs.com
相關推薦

2010-08-20 09:47:54

2010-08-27 09:02:22

IE6margin雙倍

2010-08-27 16:07:50

2010-08-18 14:02:05

IE6HTML標準

2009-08-13 10:12:07

IE的CSS Bug

2010-08-18 09:14:58

IE6兼容性

2010-08-18 15:41:38

IE6E7Firefox

2010-09-06 15:06:29

IE6IE7Firefox

2009-08-14 09:20:40

抵制IE6

2010-08-18 13:13:04

CSS兼容性IE6

2010-08-26 08:55:08

IE6CSS兼容性

2010-03-31 09:26:10

2010-02-01 08:41:23

GoogleIE6

2010-08-25 11:23:31

IE6margin

2022-11-07 16:06:15

TypeScript開發技巧

2011-08-22 12:24:56

nagios

2010-08-19 14:43:49

IE6IE7IE8

2010-08-18 09:11:11

IE6

2011-03-14 09:35:22

2010-11-10 09:01:50

Visual Stud
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩一区二区黄色片 | 久久精品国产v日韩v亚洲 | 国产农村妇女毛片精品久久麻豆 | 日日夜夜天天久久 | 精品国产一区二区国模嫣然 | 91精品久久久久久久久久入口 | 蜜桃av人人夜夜澡人人爽 | 亚洲视频在线看 | 欧美一区二区三区大片 | ririsao久久精品一区 | 免费在线观看一区二区 | 日本一区二区三区视频在线 | 国产精品久久性 | 午夜成人在线视频 | 一区二区三区视频在线 | 欧美小视频在线观看 | 国产在线一区二区三区 | 午夜在线精品 | 成人在线观看黄 | 九九精品久久久 | 在线免费观看视频黄 | 在线色网| 欧美精品二区 | 中文字幕视频在线看 | 日韩在线不卡 | 99久久精品一区二区毛片吞精 | 欧美一区二区三区在线 | 日韩免费一二三区 | 在线观看亚洲 | 久久视频免费看 | 国产一区二区三区免费 | 黄免费观看视频 | 久久久久久精 | 一级毛片视频免费观看 | 99精品视频一区二区三区 | 精品一区二区三区不卡 | 2019精品手机国产品在线 | 九九国产在线观看 | 91在线精品一区二区 | 亚洲一区二区三区视频 | 男人天堂网av|