在通常css代碼編寫的時候,IE6,IE6-IE8均可以使用本身的特有的css屬性來改良某些bug,在解決IE6 fixed時就須要這種方式來作。css
首先須要進行瀏覽器版本判斷,當爲小於等於IE6的版本時,載入IE6兼容性csshtml
注意,這段代碼的位置最好寫在其餘全部css導入代碼以後express
<!--[if lte IE 6]> <link type="text/css" rel="stylesheet" href="lteIE6Hack.css" /> <![endif]-->
而後在lteIE6Hack.css編寫本身的代碼瀏覽器
爲了讓ie6支持fixed,須要使用ie6 css表達式語言網絡
/*設置html,body背景屬性,使得ie6被「fixed」後,當瀏覽器滾動時不會出現彈跳效果(抖動)*/ html,html body{ background-image:url(about:blank); background-attachment:fixed; } div.ie6_fixed{ position:absolute;/*只有fixed才能調整div在「盒子模型」中的z-Index*/ z-Index:100;/*設置垂直索引,只要大於當前div的容器便可。*/ left:expression(eval(document.documentElement.scrollLeft)) + 10; /*向右偏移10個像素*/ top:expression(eval(document.documentElement.scrollTop)) /**緊貼window頂部**/ }
以上是一種方案,可是有時爲了簡單,不在判斷瀏覽其版本和不爲ie6專門制定css的狀況下作到fixed,可使用ie6 css兼容屬性來完成,這樣作也能夠減小瀏覽器請求網絡的次數,但這種方式也會增長代碼量。url
下面代碼一種有效的方式,common.css
spa
html,body{ padding:0px; margin:0px; _background-image:url(about:blank); /*使用 「_」只有ie6能識別,"*"的話IE6-IE8都能識別*/ _background-attachment:fixed; } div.ie6_fixed{ position:fixed; left:10px; top:0px; _position:absolute; _left:expression(eval(document.documentElement.scrollLeft)) + 10; _top:expression(eval(document.documentElement.scrollTop)) z-Index:100; }
導入時再也不判斷瀏覽器版本code
<link type="text/css" rel="stylesheet" href="common.css" />
------------------------------------------------------------------------------------htm
這兩種方式都可使用,至於你喜歡哪一種,我只能說「我不知道」索引