1、PNG半透明圖片的問題
雖然可以通過JS等方式解決,但依然存在載入速度等問題,所以,這個上能不要用還是盡量不要用。以達到網站最大優化。
2、IE6下的圓角
IE6不支持CSS3的圓角屬性,比較好的解決方法就是用圖片圓角來替代,或者放棄IE6的圓角。
3、IE6背景閃爍
如果給鏈接、按鈕用CSS sprites作為背景,可能會發現在IE6下會有背景圖閃爍的現象。造成這個的原因是由於IE6沒有將背景圖緩存,每次觸發hover的時候都會重新加載,可以用JavaScript設置IE6緩存這些圖片下面是代碼:
復制代碼代碼如下:
document.execCommand("BackgroundImageCache",false,true);
4、最小高度
IE6 不支持min-height屬性,但它卻認為height就是最小高度。解決方法:使用IE6不支持但其余浏覽器支持的屬性!important。
那麼也就是說直接設置height屬性的話 設置多少最小就是多少就不存在最小因為當前就是最小所以會在部分分辨率下變形。
復制代碼代碼如下:
#container {min-height:200px; height:auto !important; height:200px;}
5、最大高度
復制代碼代碼如下:
//直接使用ID來改變元素的最大高度
var container = document.getElementById('container');
container.style.height = (container.scrollHeight > 199) ? "200px" : "auto";
//寫成函數來運行
function setMaxHeight(elementId, height){
var container = document.getElementById(elementId);
container.style.height = (container.scrollHeight > (height - 1)) ? height + "px" : "auto";
}
//函數示例
setMaxHeight('container1', 200);
setMaxHeight('container2', 500);
6、100% 高度
在IE6下,如果要給元素定義100%高度,必須要明確定義它的父級元素的高度,如果要給元素定義滿屏的高度,就得先給Html和body定義height:100%;。
7、清除浮動
如果想用div(或其他容器)包裹一個浮動的元素,就會發現必須給div(容器)定義明確的height、width、overflow之中一個屬性(除了auto值)才能將浮動元素嚴實地包裹。
復制代碼代碼如下:
#container {border:1px solid #333; overflow:auto; height:100%;}
#floated1 {float:left; height:300px; width:200px; background:#00F;}
#floated2 {float:right; height:400px; width:200px; background:#F0F;}
8、浮動層錯位
當內容超出外包容器定義的寬度時,在IE6中容器會忽視定義的width值,寬度會錯誤地隨內容寬度增長而增長。
浮動層錯位問題在IE6下沒有真正好的解決方法,雖然可以使用overflow:hidden;或overflow:scroll;來修正,
但hidden容易導致其他一些問題,scroll會破壞設計;JavaScript也沒法很好地解決這個問題。所以建議是一定要在布局上避免這個問題發生,使用一個固定的布局或者控制好內容的寬度(給內層加width)。
9、絕對定位元素的1像素間距bug
IE6下的這個錯誤是由於進位處理誤差造成(IE7已修復),當絕對定位元素的父元素高或寬為奇數時,bottom和right會產生錯誤。唯一的解決辦法就是給父元素定義明確的高寬值,但對於液態布局沒有完美的解決方法。
10、3像素間距bug
在IE6中,當文本(或無浮動元素)跟在一個浮動的元素之後,文本和這個浮動元素之間會多出3像素的間隔。
給浮動層添加 display:inline 和 -3px 負值margin
給中間的內容層定義 margin-right 以糾正-3px