整理低版本ie兼容問題的解決方案


 

CSS hack

  \9    所有的IE10及之前

  *     IE7以及IE7以下版本的

      _     IE6以及IE6以下版本的

     !important  提升樣式優先級權重

 

1、ie6,7,8對H5標簽兼容

頁面中引入html5shiv.js,下載地址:https://github.com/aFarkas/html5shiv

 

2、IE6雙邊距

當元素浮動后,再設置同方向margin,會產生雙邊距

解決:增加 

*display:inline;

  

3、IE6最小高度問題

  IE6下最小高度19px,想小於此高度,增加

*overflow:hidden;

  

4、li里元素都浮動 li 在IE6 7  下方會產生4px間隙問題

針對li添加

*vertical-align: top;

  

5、浮動元素之間注釋,導致多復制一個文字問題

    兩個浮動元素中間有注釋或者內聯元素並且和父級寬度相差不超過3px時,

      1)兩個浮動元素中間避免出現內聯元素或者注釋
      2)與父級寬度相差3px或以上

 

6、IE6 7 父級元素的overflow:hidden 是包不住子級的relative

    針對ie6、7給父級元素添加相對定位

overflow: hidden;
*position: relative;

  

7、IE6下絕對定位元素父級寬高是奇數,絕對定位元素的right和bottom值會有1px的偏差

    避免父級寬高出現奇數

 

8、IE6下絕對定位元素和浮動元素並列絕對定位元素消失

    浮動元素和絕對定位元素是同級的話定位元素就會消失

      解決:不處於同級

 

9、IE6 下input的空隙

    給input元素添加float

 

10、display:inline-block

    IE6下使用

*display:inline;
*zoom:1;

  

11、margin兼容性問題   

    1)margin-top傳遞
    觸發BFC、haslayout,父元素增加

overflow: hidden;
zoom:1;

    2)上下margin疊壓

    盡量使用同一方向的margin,比如都設置top或者bottom

 

12、p 包含塊元素嵌套規則

    不要嵌套

 

13、IE6下子元素超出父級寬高,會把父級的寬高撐開

    不要讓子元素的寬高超過父級

 

14、第一塊元素浮動,第二塊元素加margin值等於第一塊元素,在IE6下會有間隙問題; 

    1)不建議這么寫
    2)用浮動解決

 

15、元素浮動之后,能設置寬度的話就給元素加寬度.如果需要寬度是內容撐開,就給它里邊的塊元素加上浮動

    浮動元素中存在塊元素,給塊元素增加float

 

16、IE6不支持png24 圖片

    1)JS插件(問題:不能處理body之上png24) 
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/DD_belatedPNG_0.0.8a.js"></script>
		<script>
			DD_belatedPNG.fix("img, div");
		</script>
		<style>
			body{
				background-color: red;
			}
			div{
				width: 300px;
				height: 300px;
				background: url("img/png.png") no-repeat;
			}
		</style>
	</head>
	<body>
		<div></div>
		<img src="img/png.png" alt="" />
	</body>
</html>

  

      2)原生濾鏡

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="js/DD_belatedPNG_0.0.8a.js"></script>
		<script>
			DD_belatedPNG.fix("body");
		</script>
		<style>
			body{
				width: 500px;
				height: 500px;
				background:red url("img/png.png") no-repeat;
				_background-image:none;
				_filter : progid:DXImageTransform.Microsoft.AlphaImageLoader(src="img/png.png", sizingMethod="crop");
			}
		</style>
	</head>
	<body>
	</body>
</html>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM